/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pantallas;

import Controladores.ControladorPerfil;
import Controladores.ControladorDistrito;
import Controladores.ControladorEmpleado;
import Controladores.ControladorEmpleadoJornada;
import Controladores.ControladorEscaner;
import Controladores.ControladorFeriados;
import Controladores.ControladorInforme;
import Controladores.ControladorJornada;
import Controladores.ControladorMarca;
import Controladores.ControladorOficina;
import Controladores.ControladorPais;
import Controladores.ControladorOperaciones;
import Controladores.ControladorUsuario;
import Controladores.ControladorLicencias;
import Controladores.ControladorTipoLicencia;
import Entidades.Biometria;
import Entidades.Perfil;
import Entidades.Departamento;
import Entidades.Distrito;
import Entidades.Domicilio;
import Entidades.Empleado;
import Entidades.EmpleadoJornada;
import Entidades.EscanerHuellas;
import Entidades.EstadoLicencia;
import Entidades.FeriadoAsueto;
import Entidades.JornadaLaboral;
import Entidades.Licencia;
import Entidades.Marca;
import Entidades.Modelo;
import Entidades.Oficina;
import Entidades.Pais;
import Entidades.Operaciones;
import Entidades.Perfil_Operacion;
import Entidades.Provincia;
import Entidades.TipoEscaner;
import Entidades.TipoLicencia;
import Entidades.Usuario;
import Entidades.UsuarioPerfil;
import Excepciones.NonexistentEntityException;
import Expertos.ConvertirFechas;
import Modelos.ModeloComboEmpleados;
import Modelos.ModeloComboLicencias;
import Modelos.ModeloComboMarca;
import Modelos.ModeloTablaLicencias;
import java.io.File;
import javax.swing.ImageIcon;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Diego
 */
public class Principal extends javax.swing.JFrame {

    //////VARIABLES BOOLEAN////////
    private boolean auxiliarJornada = false;
    private boolean auxiliarPerfil = false;
    private boolean auxiliarEscaner = false;
    private boolean auxiliarOficina = false;
    private boolean auxiliarOperaciones = false;
    private boolean auxiliarEmpleado = false;
    private boolean auxiliarUsuario = false;
    private boolean auxinforme = false;
    private boolean auxlicencia = false;
    private boolean cl = false;
    private boolean al = false;
    private boolean sl = false;
    private boolean gi = false;
    private boolean ip = false;
    private boolean elnuevo = false;
    private boolean simple = true;
    ////CONTROLADORES/////////
    Controladores.ControladorOperaciones controladorOperaciones = new ControladorOperaciones();
    Controladores.ControladorJornada controladorJornada = new ControladorJornada();
    Controladores.ControladorPerfil controladorPerfil = new ControladorPerfil();
    Controladores.ControladorEscaner controladorEscaner = new ControladorEscaner();
    Controladores.ControladorOficina controladorOficina = new ControladorOficina();
    Controladores.ControladorPais controladorPais = new ControladorPais();
    Controladores.ControladorDistrito controladorDistrito = new ControladorDistrito();
    Controladores.ControladorMarca controladorMarca = new ControladorMarca();
    Controladores.ControladorInforme controladorInforme = new ControladorInforme();
    Controladores.ControladorEmpleado controladorEmpleado = new ControladorEmpleado();
    Controladores.ControladorFeriados controladorFeriados = new ControladorFeriados();
    Controladores.ControladorUsuario controladorUsuario = new ControladorUsuario();
    Controladores.ControladorLicencias controladorLicencias = new ControladorLicencias();
    Controladores.ControladorEmpleadoJornada controladorEJ = new ControladorEmpleadoJornada();
    Controladores.ControladorTipoLicencia controladorTipoLicencia = new ControladorTipoLicencia();
    ////////ENTIDADES///////////
    Biometria bio2 = new Biometria();
    Oficina o = new Oficina();
    Oficina ofi = new Oficina();
    Domicilio domicilio = new Domicilio();
    EscanerHuellas eh = new EscanerHuellas();
    Modelo modelo = new Modelo();
    Marca marca = new Marca();
    TipoEscaner tipo = new TipoEscaner();
    Oficina escanerOficina = new Oficina();
    Operaciones operaciones = new Operaciones();
    Empleado emple = new Empleado();
    Empleado empleusuario2, emplelic, empleado;
    FeriadoAsueto feria = new FeriadoAsueto();
    Usuario usuariolicencia = new Usuario();
    TipoLicencia tipolic = new TipoLicencia();
    Perfil per;
    Perfil per2 = new Perfil();
    Perfil nuevoperfil;
    Usuario usuario;
    List<Empleado> empleusuario, empleInforme;
    List<Perfil> perfilesdispo;
    List<UsuarioPerfil> usuarioperfil;
    List<Perfil_Operacion> po;
    List<Licencia> lic;
    List<EmpleadoJornada> ejl;
    List<Pais> paisEmpleado;
    List<EstadoLicencia> el = new ArrayList<EstadoLicencia>(4);
    List<TipoLicencia> t1;
    //////MODELOS//////////
    Modelos.ModeloComboListaOperaciones mclo = new Modelos.ModeloComboListaOperaciones();
    Modelos.ModeloComboPerfilOperaciones mcpo = new Modelos.ModeloComboPerfilOperaciones();
    Modelos.ModeloComboPerfilUsuario mcpu = new Modelos.ModeloComboPerfilUsuario();
    Modelos.ModeloComboPerfilDisponibles mcpd = new Modelos.ModeloComboPerfilDisponibles();
    Modelos.ModeloComboFeriado mcf = new Modelos.ModeloComboFeriado();
    Modelos.ModeloComboInformeEmpleado mcu = new Modelos.ModeloComboInformeEmpleado();
    Modelos.ModeloComboInformeEmpleado mcel = new Modelos.ModeloComboInformeEmpleado();
    Modelos.ModeloComboPerfil mcc = new Modelos.ModeloComboPerfil();
    Modelos.ModeloComboLicencias mcl = new ModeloComboLicencias();
    Modelos.ModeloComboEmpleados mcempleado = new ModeloComboEmpleados();
    Modelos.ModeloComboOficina mco = new Modelos.ModeloComboOficina();
    Modelos.ModeloComboEscaner mce = new Modelos.ModeloComboEscaner();
    Modelos.ModeloComboJornada mcj = new Modelos.ModeloComboJornada();
    Modelos.ModeloComboJornadaEmpleado mcje = new Modelos.ModeloComboJornadaEmpleado();
    Modelos.ModeloComboOperaciones mcp = new Modelos.ModeloComboOperaciones();
    Modelos.ModeloComboEmpleadoOficina mceo = new Modelos.ModeloComboEmpleadoOficina();
    Modelos.ModeloComboDistrito mcdisemp = new Modelos.ModeloComboDistrito();
    Modelos.ModeloComboDepartamento mcdptoemp = new Modelos.ModeloComboDepartamento();
    Modelos.ModeloComboPais mcpaisemplado = new Modelos.ModeloComboPais();
    Modelos.ModeloComboProvincia mcprovemp = new Modelos.ModeloComboProvincia();
    Modelos.ModeloComboUsuario mcusuario = new Modelos.ModeloComboUsuario();
    //////INTEGER/////////
    int contadorOficina = 0;
    int contadorEmpleado = 0;
    int contadorOperaciones = 0;
    int contadorEscaner = 0;
    int contadorJornada = 0;
    int contadorPerfil = 0;
    int contadorInformes = 0;
    int indiceInformes = 0;
    int contadorFeriados = 0;
    int contadorUsuario = 0;
    int contab = 0;
    int nroFila = 0;
    int perfillicencia = 1051;
    //////STRING
    String[] vec = new String[10];
    String perfilausar;
    String nombreEstado;
    String observacionLicencia;
    String cadena = "2010-01-01"; ///Fecha de baja inicial para poder realizar la busqueda. No significa que la oficina este dada de baja
    ////////DATE/////////
    private Date fechaferiado;
    private Date fechaCambioEstado = new Date();
    private Date hoy = new Date();
    Calendar fechaaltaempleado = new GregorianCalendar();
    Calendar fechanac = new GregorianCalendar();

    public Principal(Usuario userlogin) {
        this.usuariolicencia = userlogin;
        initComponents();
        //Creo los paneles
        List<UsuarioPerfil> usuarioPerfilLista = (List<UsuarioPerfil>) userlogin.getUsuarioPerfilLista();
        System.out.println("Usuario: " + userlogin.getNombreUsuario());
        nombreVisible.setText(userlogin.getIdEmpleado().getNombre() + " " + userlogin.getIdEmpleado().getApellido() + "  Leg: " + userlogin.getIdEmpleado().getLegajoEmpleado());
        //Limpiar todos los tabuladores
        tab.removeAll();
        //limpiar todos los titulos de los tabuladores
        label0.setVisible(false);
        label1.setVisible(false);
        label2.setVisible(false);
        label3.setVisible(false);
        label4.setVisible(false);
        label5.setVisible(false);
        label6.setVisible(false);
        label7.setVisible(false);
        label8.setVisible(false);
        label9.setVisible(false);
        for (UsuarioPerfil usuarioPerfil : usuarioPerfilLista) {
            List<Perfil> perfiluser = (List<Perfil>) controladorPerfil.buscarPerfil_ID(usuarioPerfil.getIdPerfil().getIdPerfil());
            for (Perfil perfil : perfiluser) {
                //System.out.println("Perfiles: " + perfil.getNombrePerfil());
                List<Perfil_Operacion> operfil = perfil.getPerfil_operacionCollection();
                for (Perfil_Operacion perfil_Operacion : operfil) {
                    //  System.out.println("Operaciones: " + perfil_Operacion.getIdOperaciones().getNombreOperaciones());
                    String opsel = perfil_Operacion.getIdOperaciones().getNombreOperaciones();
                    if (opsel.contains("Administrar Oficinas")) {
                        ImageIcon iconooficinas = crearIconos("oficinas.jpeg");
                        tab.addTab("", iconooficinas, tabuladorOficinas);
                        contab++;
                        titulos(contab, "Oficinas");
                    }
                    if (opsel.contains("Administrar Empleados")) {
                        ImageIcon iconoempleados = crearIconos("empleados.jpeg");
                        tab.addTab("", iconoempleados, tabuladorEmpleados);
                        contab++;
                        titulos(contab, "Empleados");
                    }
                    if (opsel.contains("Generar Informes") || opsel.contains("Informe Personal")) {
                        if (opsel.contains("Generar Informes")) {
                            gi = true;
                        }
                        if (opsel.contains("Informe Personal")) {
                            ip = true;
                        }
                        if (!auxinforme) {
                            ImageIcon iconoinformes = crearIconos("informes.jpeg");
                            tab.addTab("", iconoinformes, tabuladorInformes);
                            contab++;
                            titulos(contab, "Informes");
                        }
                        auxinforme = true;
                    }
                    if (opsel.contains("Administrar Usuarios")) {
                        ImageIcon iconousuarios = crearIconos("usuarios.jpeg");
                        tab.addTab("", iconousuarios, tabuladorUsuarios);
                        contab++;
                        titulos(contab, "Usuarios");
                    }
                    if (opsel.contains("Administrar Perfiles")) {
                        ImageIcon iconoperfiles = crearIconos("perfiles.jpeg");
                        tab.addTab("", iconoperfiles, tabuladorPerfil);
                        contab++;
                        titulos(contab, "Perfiles");
                    }
                    if (opsel.contains("Autorizar Licencia") || opsel.contains("Solicitar Licencia") || opsel.contains("Consultar Licencia")) {
                        if (opsel.contains("Autorizar Licencia")) {
                            al = true;
                        }
                        if (opsel.contains("Solicitar Licencia")) {
                            sl = true;
                        }
                        if (opsel.contains("Consultar Licencia")) {
                            cl = true;
                        }
                        if (!auxlicencia) {
                            ImageIcon iconolicencias = crearIconos("licencias.jpeg");
                            tab.addTab("", iconolicencias, tabuladorLicencias);
                            contab++;
                            titulos(contab, "Licencias");
                        }
                        auxlicencia = true;
                    }
                    if (opsel.contains("Administrar Feriados")) {
                        ImageIcon iconoferiados = crearIconos("feriados.jpeg");
                        tab.addTab("", iconoferiados, tabuladorFeriados);
                        contab++;
                        titulos(contab, "Feriados");
                    }
                    if (opsel.contains("Administrar Escaner")) {
                        ImageIcon iconoescaner = crearIconos("escaner.jpeg");
                        tab.addTab("", iconoescaner, tabuladorEscaner);
                        contab++;
                        titulos(contab, "Escaner");
                    }
                    if (opsel.contains("Administrar Jornadas")) {
                        ImageIcon iconojornadas = crearIconos("jornada.jpeg");
                        tab.addTab("", iconojornadas, tabuladorJornadas);
                        contab++;
                        titulos(contab, "Jornada");
                    }
                    if (opsel.contains("Administrar Operaciones")) {
                        ImageIcon iconooperaciones = crearIconos("operaciones.jpeg");
                        tab.addTab("", iconooperaciones, tabuladorOperaciones);
                        contab++;
                        titulos(contab, "Operaciones");
                    }
                }
            }
        }
        if (contab != 0) {
            tab.addTab("", tabPresentacion);
            tab.setSelectedIndex(contab);
        }
        labelNuevoOperaciones.setVisible(auxiliarPerfil);
        campoNuevoOperaciones.setVisible(auxiliarPerfil);
        //Oficinas
        campoNumeroOficinas.setEditable(auxiliarOficina);
        campoNombreOficinas.setEditable(auxiliarOficina);
        campoBarrioOficina.setEditable(false);
        campoCalleOficina.setEditable(false);
        campoPisoOficina.setEditable(false);
        campoNumeroCalleOficina.setEditable(false);
        campoDpto.setEditable(false);

//Licencias
        lic = controladorLicencias.buscarLicencias();
        String fechal = ConvertirFechas.fechaAString(fechaCambioEstado);
        for (Licencia lice : lic) {
            List<EstadoLicencia> ellista = lice.getEstadoLicenciaCollection();
            String fechal2 = ConvertirFechas.fechaAString(lice.getFechaInicioLicencia());
            String fechal3 = ConvertirFechas.fechaAString(lice.getFechaFinLicencia());
            if (ellista.get(1).getNombreEstado() == null) {
                break;
            }
            if (ellista.get(1).getNombreEstado().equals("Autorizada") && fechal2.equals(fechal)) {
                ellista.get(2).setFechaCambioEstado(fechaCambioEstado);
                ellista.get(2).setIdLicencia(lice);
                ellista.get(2).setNombreEstado("En uso");
                ellista.get(2).setObservacion(null);
                controladorLicencias.enusoLicencia(ellista.get(2));
            } else if (fechal3.equals(fechal)) {
                ellista.get(3).setFechaCambioEstado(fechaCambioEstado);
                ellista.get(3).setIdLicencia(lice);
                ellista.get(3).setNombreEstado("Finalizada");
                ellista.get(3).setObservacion(null);
                controladorLicencias.enusoLicencia(ellista.get(3));
            }
        }
    }

    protected static ImageIcon crearIconos(String path) {
        java.net.URL imgURL = Principal.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("No se encontro el archivo: " + path);
            return null;
        }
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        dateChooserDialog1 = new datechooser.beans.DateChooserDialog();
        panel_Fondo = new javax.swing.JPanel();
        label0 = new javax.swing.JLabel();
        label1 = new javax.swing.JLabel();
        label2 = new javax.swing.JLabel();
        label3 = new javax.swing.JLabel();
        label8 = new javax.swing.JLabel();
        label5 = new javax.swing.JLabel();
        label6 = new javax.swing.JLabel();
        label7 = new javax.swing.JLabel();
        tab = new javax.swing.JTabbedPane();
        tabuladorOficinas = new javax.swing.JPanel();
        botonEditarOficina = new javax.swing.JButton();
        listaOficinas = new javax.swing.JComboBox();
        labelTituloOficinas = new javax.swing.JLabel();
        labelNombreOficina = new javax.swing.JLabel();
        campoNombreOficinas = new javax.swing.JTextField();
        labelNumeroOficina = new javax.swing.JLabel();
        campoNumeroOficinas = new javax.swing.JTextField();
        labelDepartamento = new javax.swing.JLabel();
        listaDepartamentos = new javax.swing.JComboBox();
        labelBarrioOficina = new javax.swing.JLabel();
        campoBarrioOficina = new javax.swing.JTextField();
        labelCalleOficina = new javax.swing.JLabel();
        campoCalleOficina = new javax.swing.JTextField();
        labelNumeroCalleoficina = new javax.swing.JLabel();
        campoNumeroCalleOficina = new javax.swing.JTextField();
        labelPisoOficina = new javax.swing.JLabel();
        campoPisoOficina = new javax.swing.JTextField();
        labelDptoOficina = new javax.swing.JLabel();
        campoDpto = new javax.swing.JTextField();
        botonGuardarOficinas = new javax.swing.JButton();
        labelPais = new javax.swing.JLabel();
        listaPaises = new javax.swing.JComboBox();
        labelProvincia = new javax.swing.JLabel();
        listaProvincia = new javax.swing.JComboBox();
        labelDistrito = new javax.swing.JLabel();
        listaDistritos = new javax.swing.JComboBox();
        labelNombreOficinaACrear = new javax.swing.JLabel();
        botonNuevaOficina = new javax.swing.JButton();
        botonEliminarOficina = new javax.swing.JButton();
        tabuladorUsuarios = new javax.swing.JPanel();
        labelBusquedaEmpleado = new javax.swing.JLabel();
        labelUsuario = new javax.swing.JLabel();
        campoUsuario = new javax.swing.JTextField();
        labelPassword = new javax.swing.JLabel();
        campoPassword = new javax.swing.JTextField();
        botonEditarUsuario = new javax.swing.JButton();
        botonGuardarUsuario = new javax.swing.JButton();
        listaUsuarios = new javax.swing.JComboBox();
        labelPerfilesAsignados = new javax.swing.JLabel();
        jScrollPane10 = new javax.swing.JScrollPane();
        listaPerfilesAsignados = new javax.swing.JList();
        jScrollPane11 = new javax.swing.JScrollPane();
        listaPerfilesDisponibles = new javax.swing.JList();
        labelPerfilDisponibles = new javax.swing.JLabel();
        labelTituloUsuarios = new javax.swing.JLabel();
        botonNuevoUsuario = new javax.swing.JButton();
        botonEliminarUsuario = new javax.swing.JButton();
        labelUsuarioEmpleado = new javax.swing.JLabel();
        campoUsuarioEmpleado = new javax.swing.JTextField();
        listaUsuariosEmpleados = new javax.swing.JComboBox();
        labelUsuarioEmpleados = new javax.swing.JLabel();
        tabuladorPerfil = new javax.swing.JPanel();
        labelTituloPerfiles = new javax.swing.JLabel();
        labelNuevoPerfil = new javax.swing.JLabel();
        campoNombrePerfil = new javax.swing.JTextField();
        labelNombrePerfil = new javax.swing.JLabel();
        listaPerfil = new javax.swing.JComboBox();
        labelDescripcionPerfil = new javax.swing.JLabel();
        jScrollPane5 = new javax.swing.JScrollPane();
        areaDescripcionPerfil = new javax.swing.JTextArea();
        botonEditarPerfil = new javax.swing.JButton();
        botonGuardarPerfil = new javax.swing.JButton();
        labelOperacionesPerfil = new javax.swing.JLabel();
        jScrollPane4 = new javax.swing.JScrollPane();
        listaOperacionesActuales = new javax.swing.JList();
        labelOperacionesAsignadas = new javax.swing.JLabel();
        jScrollPane9 = new javax.swing.JScrollPane();
        listaOperacionesAgregar = new javax.swing.JList();
        botonAltaPerfil = new javax.swing.JButton();
        botonEliminarPerfil = new javax.swing.JButton();
        tabuladorLicencias = new javax.swing.JPanel();
        fechaDesdeLicencia = new datechooser.beans.DateChooserCombo();
        labelFechaDesdeLicencia = new javax.swing.JLabel();
        labelFechaHastaLicencia = new javax.swing.JLabel();
        fechaHastaLicencia = new datechooser.beans.DateChooserCombo();
        jLabel9 = new javax.swing.JLabel();
        botonSolicitarLicencia = new javax.swing.JButton();
        botonAutorizarLicencia = new javax.swing.JButton();
        labelMotivo = new javax.swing.JLabel();
        jScrollPane7 = new javax.swing.JScrollPane();
        areaMotivoLicencia = new javax.swing.JTextArea();
        labelApellidoNombreLicencia = new javax.swing.JLabel();
        listaApellidoLicencias = new javax.swing.JComboBox();
        jScrollPane12 = new javax.swing.JScrollPane();
        tablaLicencias = new javax.swing.JTable();
        botonRechazarLicencia = new javax.swing.JButton();
        labelTipoLicencia = new javax.swing.JLabel();
        listaTipoLicencia = new javax.swing.JComboBox();
        tabuladorEscaner = new javax.swing.JPanel();
        labelTituloEscaner = new javax.swing.JLabel();
        labelNumeroSerie = new javax.swing.JLabel();
        labelMarca = new javax.swing.JLabel();
        listaMarcas = new javax.swing.JComboBox();
        labelModeloEscaner = new javax.swing.JLabel();
        listaModelos = new javax.swing.JComboBox();
        labelTipoEscaner = new javax.swing.JLabel();
        listaTipoEscaner = new javax.swing.JComboBox();
        botonEditarEscaner = new javax.swing.JButton();
        botonGuardarEscaner = new javax.swing.JButton();
        labelEscanerOficina = new javax.swing.JLabel();
        listaEscanerOficina = new javax.swing.JComboBox();
        listaNumeroEscaner = new javax.swing.JComboBox();
        campoNuevoEscaner = new javax.swing.JTextField();
        labelNumeroSerie2 = new javax.swing.JLabel();
        botonAltaEscaner = new javax.swing.JButton();
        botonEliminarEscaner = new javax.swing.JButton();
        tabuladorFeriados = new javax.swing.JPanel();
        vigenteFeriado = new javax.swing.JCheckBox();
        labelObservacionesFeriados = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        areaObservacionesFeriados = new javax.swing.JTextArea();
        botonGuardarFeriados = new javax.swing.JButton();
        panelFeriados = new datechooser.beans.DateChooserPanel();
        labelTituloFeriadosyAsuetos = new javax.swing.JLabel();
        jScrollPane8 = new javax.swing.JScrollPane();
        listaFeriados = new javax.swing.JList();
        botonNuevoFeriado = new javax.swing.JButton();
        labelFechaFeriado = new java.awt.Label();
        labelDescripcionFeriado = new java.awt.Label();
        tabuladorJornadas = new javax.swing.JPanel();
        labelTituloJornadaLaboral = new javax.swing.JLabel();
        labelNombrejornadaLaboral = new javax.swing.JLabel();
        campoNombreJornada = new javax.swing.JTextField();
        labelJornada = new javax.swing.JLabel();
        listaJornadas = new javax.swing.JComboBox();
        labelDescripcionJornada = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        areaDescripcionJornada = new javax.swing.JTextArea();
        labelHoraEntrada = new javax.swing.JLabel();
        labelHoraSalida = new javax.swing.JLabel();
        labelTolerancia = new javax.swing.JLabel();
        botonEditarJornada = new javax.swing.JButton();
        botonGuardarJornada = new javax.swing.JButton();
        campoHoraEntradaJL = new javax.swing.JTextField();
        campoHoraSalidaJL = new javax.swing.JTextField();
        toleranciaJL = new javax.swing.JSpinner();
        botonNuevaJornada = new javax.swing.JButton();
        botonEliminarJornada = new javax.swing.JButton();
        tabuladorEmpleados = new javax.swing.JPanel();
        labelNombreEmpleado = new javax.swing.JLabel();
        campoNombreEmpleado = new javax.swing.JTextField();
        labelApellidoEmpleado = new javax.swing.JLabel();
        campoApellidoEmpleado = new javax.swing.JTextField();
        labelDU = new javax.swing.JLabel();
        campoDU = new javax.swing.JTextField();
        labelCUIL = new javax.swing.JLabel();
        campoCUIL = new javax.swing.JTextField();
        labelFechaAlta = new javax.swing.JLabel();
        labelFechaNacimiento = new javax.swing.JLabel();
        labelLegajo = new javax.swing.JLabel();
        campoLegajo = new javax.swing.JTextField();
        labelSexo = new javax.swing.JLabel();
        comboSexo = new javax.swing.JComboBox();
        labelNacionalidad = new javax.swing.JLabel();
        campoNacionalidad = new javax.swing.JTextField();
        labelEstadoCivil = new javax.swing.JLabel();
        comboEstadoCivil = new javax.swing.JComboBox();
        labelAntiguedad = new javax.swing.JLabel();
        comboAntiguedad = new javax.swing.JSpinner();
        labelEmail = new javax.swing.JLabel();
        campoEmail = new javax.swing.JTextField();
        labelTelefono = new javax.swing.JLabel();
        campoNumeroTelefono = new javax.swing.JTextField();
        labelOficinas = new javax.swing.JLabel();
        listaOficinaEmpleado = new javax.swing.JComboBox();
        jLabel4 = new javax.swing.JLabel();
        listaJornadaEmpleado = new javax.swing.JComboBox();
        botonHuella = new javax.swing.JButton();
        botonGuardarEmpleado = new javax.swing.JButton();
        labelApellidoNombreEmpleados = new javax.swing.JLabel();
        listaEmpleados = new javax.swing.JComboBox();
        labelTipoDU = new javax.swing.JLabel();
        listaTipoDU = new javax.swing.JComboBox();
        botonEditarEmpleado = new javax.swing.JButton();
        comboFechaAltaEmpleado = new datechooser.beans.DateChooserCombo();
        comboFechaNacimiento = new datechooser.beans.DateChooserCombo();
        labelTituloEmpleados = new javax.swing.JLabel();
        labelPaisEmpleado = new javax.swing.JLabel();
        listaPaisEmpleado = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        listaProvinciaEmpleado = new javax.swing.JComboBox();
        labelDepartamentoPais = new javax.swing.JLabel();
        listaDepartamentoEmpleado = new javax.swing.JComboBox();
        labelDistritoEmpleado = new javax.swing.JLabel();
        listaDistritoEmpleado = new javax.swing.JComboBox();
        labelBarrioEmpleado = new javax.swing.JLabel();
        campoBarrioEmpleado = new javax.swing.JTextField();
        labelCalleEmpleado = new javax.swing.JLabel();
        campoCalleEmpleado = new javax.swing.JTextField();
        labelNumeroEmpleado = new javax.swing.JLabel();
        campoNumeroEmpleado = new javax.swing.JTextField();
        labelPisoEmpleado = new javax.swing.JLabel();
        campoPisoEmpleado = new javax.swing.JTextField();
        labelDeptoEmpleado = new javax.swing.JLabel();
        campoDeptoEmpleado = new javax.swing.JTextField();
        labelVerificacionHuella = new java.awt.Label();
        botonNuevoEmpleado = new javax.swing.JButton();
        botonEliminarEmpleado = new javax.swing.JButton();
        labelHuella = new javax.swing.JLabel();
        tabPresentacion = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        labelAdmin = new javax.swing.JLabel();
        tabuladorInformes = new javax.swing.JPanel();
        labelTipoInformes = new javax.swing.JLabel();
        listaInformes = new javax.swing.JComboBox();
        labelFechaDesdeInforme = new javax.swing.JLabel();
        labelfechaHastaInfomre = new javax.swing.JLabel();
        botonGenerarReporte = new javax.swing.JButton();
        dateInformeDesde = new datechooser.beans.DateChooserCombo();
        dateInformeHasta = new datechooser.beans.DateChooserCombo();
        listaInformeEmpleado = new javax.swing.JComboBox();
        labelInformeApellido = new javax.swing.JLabel();
        listaInformeOficina = new javax.swing.JComboBox();
        labelInformeOficina = new javax.swing.JLabel();
        tabuladorOperaciones = new javax.swing.JPanel();
        botonEditarOperaciones = new javax.swing.JButton();
        labelNombreOperaciones = new javax.swing.JLabel();
        labelDescripcionOperaciones = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        areaDescripcionOperaciones = new javax.swing.JTextArea();
        botonGuardarOperaciones = new javax.swing.JButton();
        listaOperaciones = new javax.swing.JComboBox();
        labelNuevoOperaciones = new javax.swing.JLabel();
        campoNuevoOperaciones = new javax.swing.JTextField();
        labelTituloOperaciones = new javax.swing.JLabel();
        botonNuevaOperacion = new javax.swing.JButton();
        botonEliminarOperaciones = new javax.swing.JButton();
        label4 = new javax.swing.JLabel();
        label9 = new javax.swing.JLabel();
        nombreVisible = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema Personal ID");
        setBackground(new java.awt.Color(117, 105, 105));
        setForeground(java.awt.Color.darkGray);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        panel_Fondo.setBackground(new java.awt.Color(108, 100, 92));
        panel_Fondo.setPreferredSize(new java.awt.Dimension(1370, 1110));

        label0.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label0.setText("Oficinas");

        label1.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label1.setText("Empleados");

        label2.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label2.setText("Informes");

        label3.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label3.setText("Usuarios");

        label8.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label8.setText("Jornada");

        label5.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label5.setText("Licencias");

        label6.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label6.setText("Feriados y Asuetos");

        label7.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label7.setText("Escaner");

        tab.setBackground(new java.awt.Color(117, 105, 105));
        tab.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        tab.setPreferredSize(new java.awt.Dimension(1002, 1050));
        tab.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tabMouseClicked(evt);
            }
        });

        tabuladorOficinas.setBackground(new java.awt.Color(242, 237, 132));
        tabuladorOficinas.setToolTipText("Oficinas");
        tabuladorOficinas.setName("Oficinas"); // NOI18N

        botonEditarOficina.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarOficina.setToolTipText("Editar Oficina");
        botonEditarOficina.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarOficinaActionPerformed(evt);
            }
        });

        listaOficinas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaOficinasActionPerformed(evt);
            }
        });

        labelTituloOficinas.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloOficinas.setText("Consultar Oficinas");

        labelNombreOficina.setText("Nombre Oficina");

        labelNumeroOficina.setText("Numero");

        labelDepartamento.setText("Departamento");

        listaDepartamentos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaDepartamentosActionPerformed(evt);
            }
        });

        labelBarrioOficina.setText("Barrio");

        labelCalleOficina.setText("Calle");

        labelNumeroCalleoficina.setText("Numero");

        labelPisoOficina.setText("Piso");

        labelDptoOficina.setText("Dpto");

        botonGuardarOficinas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarOficinas.setToolTipText("Guardar Cambios");
        botonGuardarOficinas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarOficinasActionPerformed(evt);
            }
        });

        labelPais.setText("Pais");

        listaPaises.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaPaisesActionPerformed(evt);
            }
        });

        labelProvincia.setText("Provincia");

        listaProvincia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaProvinciaActionPerformed(evt);
            }
        });

        labelDistrito.setText("Distrito");

        labelNombreOficinaACrear.setText("Nombre Oficina");

        botonNuevaOficina.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonNuevaOficina.setToolTipText("Nueva Oficina");
        botonNuevaOficina.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonNuevaOficinaActionPerformed(evt);
            }
        });

        botonEliminarOficina.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarOficina.setToolTipText("Eliminar Oficina");
        botonEliminarOficina.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarOficinaActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorOficinasLayout = new javax.swing.GroupLayout(tabuladorOficinas);
        tabuladorOficinas.setLayout(tabuladorOficinasLayout);
        tabuladorOficinasLayout.setHorizontalGroup(
            tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(labelTituloOficinas))
                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                        .addGap(91, 91, 91)
                        .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabuladorOficinasLayout.createSequentialGroup()
                                        .addComponent(labelPais)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaPaises, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelProvincia)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaProvincia, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                        .addComponent(botonEditarOficina)
                                        .addGap(58, 58, 58)
                                        .addComponent(botonGuardarOficinas))
                                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                        .addComponent(labelDistrito)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaDistritos, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelBarrioOficina)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoBarrioOficina, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                        .addGap(18, 18, 18)
                                        .addComponent(labelDepartamento)
                                        .addGap(9, 9, 9)
                                        .addComponent(listaDepartamentos, javax.swing.GroupLayout.PREFERRED_SIZE, 258, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                        .addGap(20, 20, 20)
                                        .addComponent(labelCalleOficina)
                                        .addGap(10, 10, 10)
                                        .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(botonEliminarOficina)
                                            .addComponent(campoCalleOficina, javax.swing.GroupLayout.PREFERRED_SIZE, 312, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                            .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                .addGap(6, 6, 6)
                                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(labelNombreOficina)
                                    .addComponent(labelNombreOficinaACrear))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(listaOficinas, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(campoNombreOficinas, javax.swing.GroupLayout.PREFERRED_SIZE, 294, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addComponent(labelNumeroOficina)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(campoNumeroOficinas, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(botonNuevaOficina)
                                    .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                                        .addComponent(labelNumeroCalleoficina)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoNumeroCalleOficina, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(46, 46, 46)
                                        .addComponent(labelPisoOficina)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(campoPisoOficina, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(labelDptoOficina)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(campoDpto, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap(1050, Short.MAX_VALUE))
        );
        tabuladorOficinasLayout.setVerticalGroup(
            tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorOficinasLayout.createSequentialGroup()
                .addGap(24, 24, 24)
                .addComponent(labelTituloOficinas, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(71, 71, 71)
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(campoNombreOficinas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNombreOficinaACrear))
                .addGap(26, 26, 26)
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(listaOficinas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNombreOficina)
                    .addComponent(labelNumeroOficina)
                    .addComponent(campoNumeroOficinas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(28, 28, 28)
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelPais)
                    .addComponent(listaPaises, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelProvincia)
                    .addComponent(listaDepartamentos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelDepartamento)
                    .addComponent(listaProvincia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(20, 20, 20)
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelDistrito)
                    .addComponent(listaDistritos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelBarrioOficina)
                    .addComponent(campoBarrioOficina, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCalleOficina)
                    .addComponent(campoCalleOficina, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(24, 24, 24)
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelNumeroCalleoficina)
                    .addComponent(campoNumeroCalleOficina, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelPisoOficina)
                    .addComponent(campoPisoOficina, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelDptoOficina)
                    .addComponent(campoDpto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(41, 41, 41)
                .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorOficinasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(botonEditarOficina, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(botonGuardarOficinas))
                    .addComponent(botonNuevaOficina)
                    .addComponent(botonEliminarOficina))
                .addContainerGap(468, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/oficinas.jpeg")), tabuladorOficinas, "Administrar Oficinas"); // NOI18N

        tabuladorUsuarios.setBackground(new java.awt.Color(146, 199, 201));
        tabuladorUsuarios.setToolTipText("Usuarios");
        tabuladorUsuarios.setName("Usuarios"); // NOI18N

        labelBusquedaEmpleado.setText("Usuario");

        labelUsuario.setText("Usuario");

        labelPassword.setText("Contraseña");

        botonEditarUsuario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarUsuario.setEnabled(false);
        botonEditarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarUsuarioActionPerformed(evt);
            }
        });

        botonGuardarUsuario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarUsuario.setEnabled(false);
        botonGuardarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarUsuarioActionPerformed(evt);
            }
        });

        listaUsuarios.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaUsuariosActionPerformed(evt);
            }
        });

        labelPerfilesAsignados.setText("Perfiles asignados");

        listaPerfilesAsignados.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listaPerfilesAsignadosMouseClicked(evt);
            }
        });
        jScrollPane10.setViewportView(listaPerfilesAsignados);

        listaPerfilesDisponibles.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listaPerfilesDisponiblesMouseClicked(evt);
            }
        });
        jScrollPane11.setViewportView(listaPerfilesDisponibles);

        labelPerfilDisponibles.setText("Perfiles disponibles:");

        labelTituloUsuarios.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloUsuarios.setText("Consultar Usuarios");

        botonNuevoUsuario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonNuevoUsuario.setToolTipText("Nuevo Usuario");
        botonNuevoUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonNuevoUsuarioActionPerformed(evt);
            }
        });

        botonEliminarUsuario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarUsuario.setToolTipText("Eliminar Usuario");
        botonEliminarUsuario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarUsuarioActionPerformed(evt);
            }
        });

        labelUsuarioEmpleado.setText("Empleado");

        labelUsuarioEmpleados.setText("Empleado");

        javax.swing.GroupLayout tabuladorUsuariosLayout = new javax.swing.GroupLayout(tabuladorUsuarios);
        tabuladorUsuarios.setLayout(tabuladorUsuariosLayout);
        tabuladorUsuariosLayout.setHorizontalGroup(
            tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                        .addGap(150, 150, 150)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(labelBusquedaEmpleado)
                            .addComponent(labelPassword)
                            .addComponent(labelUsuario)
                            .addComponent(labelPerfilesAsignados)
                            .addComponent(labelUsuarioEmpleado)
                            .addComponent(labelUsuarioEmpleados))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(listaUsuariosEmpleados, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(campoUsuarioEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(campoUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(campoPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jScrollPane10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                            .addComponent(listaUsuarios, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(143, 143, 143)
                        .addComponent(labelPerfilDisponibles)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(48, 48, 48)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(botonEditarUsuario)
                            .addComponent(botonNuevoUsuario)
                            .addComponent(botonGuardarUsuario)
                            .addComponent(botonEliminarUsuario)))
                    .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                        .addGap(501, 501, 501)
                        .addComponent(labelTituloUsuarios)))
                .addGap(0, 899, Short.MAX_VALUE))
        );
        tabuladorUsuariosLayout.setVerticalGroup(
            tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                .addGap(40, 40, 40)
                .addComponent(labelTituloUsuarios)
                .addGap(57, 57, 57)
                .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                                .addComponent(botonNuevoUsuario)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(botonEditarUsuario)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(botonGuardarUsuario))
                            .addComponent(labelPerfilDisponibles)
                            .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 201, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonEliminarUsuario))
                    .addGroup(tabuladorUsuariosLayout.createSequentialGroup()
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelBusquedaEmpleado)
                            .addComponent(listaUsuarios, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(campoUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelUsuario))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelPassword)
                            .addComponent(campoPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(15, 15, 15)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelUsuarioEmpleado)
                            .addComponent(campoUsuarioEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(7, 7, 7)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(listaUsuariosEmpleados, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelUsuarioEmpleados))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(tabuladorUsuariosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelPerfilesAsignados)
                            .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(432, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/usuarios.jpeg")), tabuladorUsuarios, "Administrar Usuarios"); // NOI18N

        tabuladorPerfil.setBackground(new java.awt.Color(71, 79, 253));
        tabuladorPerfil.setToolTipText("Perfiles");
        tabuladorPerfil.setName("Perfiles"); // NOI18N

        labelTituloPerfiles.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloPerfiles.setText("Consultar Perfiles");

        labelNuevoPerfil.setText("Nombre perfil");

        labelNombrePerfil.setText("Perfil");

        listaPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaPerfilActionPerformed(evt);
            }
        });

        labelDescripcionPerfil.setText("Descripcion");

        areaDescripcionPerfil.setColumns(20);
        areaDescripcionPerfil.setLineWrap(true);
        areaDescripcionPerfil.setRows(5);
        jScrollPane5.setViewportView(areaDescripcionPerfil);

        botonEditarPerfil.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarPerfil.setToolTipText("Editar Perfil");
        botonEditarPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarPerfilActionPerformed(evt);
            }
        });

        botonGuardarPerfil.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarPerfil.setToolTipText("Guardar Perfil");
        botonGuardarPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarPerfilActionPerformed(evt);
            }
        });

        labelOperacionesPerfil.setText("Agregar Operaciones");

        listaOperacionesActuales.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listaOperacionesActualesMouseClicked(evt);
            }
        });
        jScrollPane4.setViewportView(listaOperacionesActuales);

        labelOperacionesAsignadas.setText("Operaciones Asignadas");

        listaOperacionesAgregar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listaOperacionesAgregarMouseClicked(evt);
            }
        });
        jScrollPane9.setViewportView(listaOperacionesAgregar);

        botonAltaPerfil.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonAltaPerfil.setToolTipText("Nuevo Perfil");
        botonAltaPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonAltaPerfilActionPerformed(evt);
            }
        });

        botonEliminarPerfil.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarPerfil.setToolTipText("Eliminar Perfil");
        botonEliminarPerfil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarPerfilActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorPerfilLayout = new javax.swing.GroupLayout(tabuladorPerfil);
        tabuladorPerfil.setLayout(tabuladorPerfilLayout);
        tabuladorPerfilLayout.setHorizontalGroup(
            tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorPerfilLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(labelNombrePerfil, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelNuevoPerfil, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelDescripcionPerfil, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelOperacionesAsignadas, javax.swing.GroupLayout.Alignment.TRAILING))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE)
                    .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                    .addComponent(campoNombrePerfil)
                    .addComponent(listaPerfil, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(7, 7, 7)
                .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorPerfilLayout.createSequentialGroup()
                        .addComponent(labelOperacionesPerfil)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(148, 148, 148)
                        .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(botonEditarPerfil, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(botonGuardarPerfil, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addComponent(botonAltaPerfil, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(botonEliminarPerfil, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(labelTituloPerfiles))
                .addContainerGap(965, Short.MAX_VALUE))
        );
        tabuladorPerfilLayout.setVerticalGroup(
            tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorPerfilLayout.createSequentialGroup()
                .addGap(41, 41, 41)
                .addComponent(labelTituloPerfiles)
                .addGap(37, 37, 37)
                .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorPerfilLayout.createSequentialGroup()
                        .addComponent(botonAltaPerfil, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(11, 11, 11)
                        .addComponent(botonEditarPerfil)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonGuardarPerfil)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonEliminarPerfil))
                    .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 331, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(tabuladorPerfilLayout.createSequentialGroup()
                        .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(campoNombrePerfil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelNuevoPerfil)
                            .addComponent(labelOperacionesPerfil))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(listaPerfil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelNombrePerfil))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelDescripcionPerfil))
                        .addGap(19, 19, 19)
                        .addGroup(tabuladorPerfilLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelOperacionesAsignadas)
                            .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(501, 501, 501))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/perfiles.jpeg")), tabuladorPerfil, "Administrar Perfiles"); // NOI18N

        tabuladorLicencias.setBackground(new java.awt.Color(129, 120, 244));
        tabuladorLicencias.setToolTipText("Licencias");
        tabuladorLicencias.setName("Licencias"); // NOI18N

        labelFechaDesdeLicencia.setText("Fecha desde");

        labelFechaHastaLicencia.setText("Fecha hasta");

        jLabel9.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
        jLabel9.setText("Licencias");

        botonSolicitarLicencia.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/solicitud.jpg"))); // NOI18N
        botonSolicitarLicencia.setText("Solicitar Licencia");
        botonSolicitarLicencia.setToolTipText("Solicitar Licencia");
        botonSolicitarLicencia.setEnabled(false);
        botonSolicitarLicencia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonSolicitarLicenciaActionPerformed(evt);
            }
        });

        botonAutorizarLicencia.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/autorizado.jpg"))); // NOI18N
        botonAutorizarLicencia.setText("Autorizar Licencia");
        botonAutorizarLicencia.setToolTipText("Autorizar Licencia");
        botonAutorizarLicencia.setEnabled(false);
        botonAutorizarLicencia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonAutorizarLicenciaActionPerformed(evt);
            }
        });

        labelMotivo.setText("Observaciones");

        areaMotivoLicencia.setColumns(20);
        areaMotivoLicencia.setLineWrap(true);
        areaMotivoLicencia.setRows(5);
        areaMotivoLicencia.setEnabled(false);
        jScrollPane7.setViewportView(areaMotivoLicencia);

        labelApellidoNombreLicencia.setText("Apellido y Nombre");

        listaApellidoLicencias.setEnabled(false);
        listaApellidoLicencias.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaApellidoLicenciasActionPerformed(evt);
            }
        });

        tablaLicencias.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        tablaLicencias.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);
        tablaLicencias.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tablaLicenciasMouseClicked(evt);
            }
        });
        jScrollPane12.setViewportView(tablaLicencias);

        botonRechazarLicencia.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/rechazada.jpg"))); // NOI18N
        botonRechazarLicencia.setText("Rechazar Licencia");
        botonRechazarLicencia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonRechazarLicenciaActionPerformed(evt);
            }
        });

        labelTipoLicencia.setText("Tipo de Licencia");

        listaTipoLicencia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaTipoLicenciaActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorLicenciasLayout = new javax.swing.GroupLayout(tabuladorLicencias);
        tabuladorLicencias.setLayout(tabuladorLicenciasLayout);
        tabuladorLicenciasLayout.setHorizontalGroup(
            tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                                .addComponent(labelTipoLicencia)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(listaTipoLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, 243, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                                .addComponent(labelMotivo)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jScrollPane7))))
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addGap(5, 5, 5)
                        .addComponent(labelFechaDesdeLicencia)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(fechaDesdeLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(29, 29, 29)
                        .addComponent(labelFechaHastaLicencia)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(fechaHastaLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addComponent(labelApellidoNombreLicencia)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(listaApellidoLicencias, javax.swing.GroupLayout.PREFERRED_SIZE, 243, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addGap(0, 0, 0)
                        .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 697, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(botonRechazarLicencia, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
                            .addComponent(botonAutorizarLicencia, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(botonSolicitarLicencia, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addGap(313, 313, 313)
                        .addComponent(jLabel9)))
                .addContainerGap(739, Short.MAX_VALUE))
        );
        tabuladorLicenciasLayout.setVerticalGroup(
            tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addGap(72, 72, 72)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelFechaDesdeLicencia)
                            .addComponent(fechaDesdeLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelFechaHastaLicencia)
                            .addComponent(fechaHastaLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelApellidoNombreLicencia)
                            .addComponent(listaApellidoLicencias, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelTipoLicencia)
                            .addComponent(listaTipoLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(27, 27, 27)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelMotivo)
                            .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jLabel9)
                        .addGap(38, 38, 38)
                        .addGroup(tabuladorLicenciasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabuladorLicenciasLayout.createSequentialGroup()
                                .addComponent(botonSolicitarLicencia)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(botonAutorizarLicencia, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(botonRechazarLicencia))
                            .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 355, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(416, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/licencias.jpeg")), tabuladorLicencias, "Licencias"); // NOI18N

        tabuladorEscaner.setBackground(new java.awt.Color(233, 200, 119));
        tabuladorEscaner.setName("Escaner"); // NOI18N

        labelTituloEscaner.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloEscaner.setText("Consultar Escaner");

        labelNumeroSerie.setText("Número de serie");

        labelMarca.setText("Marca");

        listaMarcas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaMarcasActionPerformed(evt);
            }
        });

        labelModeloEscaner.setText("Modelo");

        listaModelos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaModelosActionPerformed(evt);
            }
        });

        labelTipoEscaner.setText("Tipo escaner");

        botonEditarEscaner.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarEscaner.setToolTipText("Editar");
        botonEditarEscaner.setEnabled(false);
        botonEditarEscaner.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarEscanerActionPerformed(evt);
            }
        });

        botonGuardarEscaner.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarEscaner.setToolTipText("Guardar Cambios");
        botonGuardarEscaner.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarEscanerActionPerformed(evt);
            }
        });

        labelEscanerOficina.setText("Oficina");

        listaNumeroEscaner.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaNumeroEscanerActionPerformed(evt);
            }
        });

        labelNumeroSerie2.setText("Número de serie");

        botonAltaEscaner.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonAltaEscaner.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonAltaEscanerActionPerformed(evt);
            }
        });

        botonEliminarEscaner.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarEscaner.setEnabled(false);
        botonEliminarEscaner.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarEscanerActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorEscanerLayout = new javax.swing.GroupLayout(tabuladorEscaner);
        tabuladorEscaner.setLayout(tabuladorEscanerLayout);
        tabuladorEscanerLayout.setHorizontalGroup(
            tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                .addGap(64, 64, 64)
                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(botonAltaEscaner)
                    .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                            .addGap(26, 26, 26)
                            .addComponent(labelTipoEscaner)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(listaTipoEscaner, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                            .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(labelNumeroSerie)
                                .addComponent(labelNumeroSerie2))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(listaNumeroEscaner, javax.swing.GroupLayout.PREFERRED_SIZE, 208, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(campoNuevoEscaner, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                        .addGap(61, 61, 61)
                        .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelTituloEscaner)
                            .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                                        .addGap(6, 6, 6)
                                        .addComponent(labelMarca)
                                        .addGap(18, 18, 18)
                                        .addComponent(listaMarcas, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelModeloEscaner))
                                    .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                                        .addComponent(labelEscanerOficina)
                                        .addGap(18, 18, 18)
                                        .addComponent(listaEscanerOficina, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGap(57, 57, 57)
                                .addComponent(listaModelos, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                        .addGap(40, 40, 40)
                        .addComponent(botonEditarEscaner)
                        .addGap(39, 39, 39)
                        .addComponent(botonGuardarEscaner)
                        .addGap(42, 42, 42)
                        .addComponent(botonEliminarEscaner)))
                .addContainerGap(1003, Short.MAX_VALUE))
        );
        tabuladorEscanerLayout.setVerticalGroup(
            tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorEscanerLayout.createSequentialGroup()
                .addGap(51, 51, 51)
                .addComponent(labelTituloEscaner, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(38, 38, 38)
                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelNumeroSerie2)
                    .addComponent(campoNuevoEscaner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(11, 11, 11)
                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelNumeroSerie)
                    .addComponent(listaMarcas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelMarca)
                    .addComponent(labelModeloEscaner)
                    .addComponent(listaModelos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(listaNumeroEscaner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(51, 51, 51)
                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelTipoEscaner)
                    .addComponent(listaTipoEscaner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelEscanerOficina)
                    .addComponent(listaEscanerOficina, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(148, 148, 148)
                .addGroup(tabuladorEscanerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(botonAltaEscaner)
                    .addComponent(botonEditarEscaner)
                    .addComponent(botonGuardarEscaner)
                    .addComponent(botonEliminarEscaner))
                .addContainerGap(455, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/escaner.jpeg")), tabuladorEscaner, "Administrar Escaner"); // NOI18N
        tabuladorEscaner.getAccessibleContext().setAccessibleParent(tab);

        tabuladorFeriados.setBackground(new java.awt.Color(160, 92, 91));
        tabuladorFeriados.setToolTipText("Feriados y Asuetos");
        tabuladorFeriados.setName("Feriados"); // NOI18N

        vigenteFeriado.setSelected(true);
        vigenteFeriado.setText("Feriado");

        labelObservacionesFeriados.setText("Observaciones");

        areaObservacionesFeriados.setColumns(20);
        areaObservacionesFeriados.setLineWrap(true);
        areaObservacionesFeriados.setRows(5);
        jScrollPane1.setViewportView(areaObservacionesFeriados);

        botonGuardarFeriados.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarFeriados.setToolTipText("Guardar Feriado");
        botonGuardarFeriados.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarFeriadosActionPerformed(evt);
            }
        });

        panelFeriados.addSelectionChangedListener(new datechooser.events.SelectionChangedListener() {
            public void onSelectionChange(datechooser.events.SelectionChangedEvent evt) {
                panelFeriadosOnSelectionChange(evt);
            }
        });

        labelTituloFeriadosyAsuetos.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloFeriadosyAsuetos.setText("Administrar Feriados y Asuetos");

        listaFeriados.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                listaFeriadosMouseClicked(evt);
            }
        });
        jScrollPane8.setViewportView(listaFeriados);

        botonNuevoFeriado.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonNuevoFeriado.setToolTipText("Agregar Feriado");
        botonNuevoFeriado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonNuevoFeriadoActionPerformed(evt);
            }
        });

        labelFechaFeriado.setText("Fecha:");

        labelDescripcionFeriado.setText("Motivo");

        javax.swing.GroupLayout tabuladorFeriadosLayout = new javax.swing.GroupLayout(tabuladorFeriados);
        tabuladorFeriados.setLayout(tabuladorFeriadosLayout);
        tabuladorFeriadosLayout.setHorizontalGroup(
            tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorFeriadosLayout.createSequentialGroup()
                .addGroup(tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorFeriadosLayout.createSequentialGroup()
                        .addGap(28, 28, 28)
                        .addGroup(tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 565, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelTituloFeriadosyAsuetos))
                        .addGap(42, 42, 42)
                        .addComponent(panelFeriados, javax.swing.GroupLayout.PREFERRED_SIZE, 359, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(39, 39, 39)
                        .addGroup(tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(labelObservacionesFeriados)
                            .addComponent(vigenteFeriado)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabuladorFeriadosLayout.createSequentialGroup()
                                .addComponent(botonNuevoFeriado)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(botonGuardarFeriados))))
                    .addGroup(tabuladorFeriadosLayout.createSequentialGroup()
                        .addGap(37, 37, 37)
                        .addComponent(labelFechaFeriado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(105, 105, 105)
                        .addComponent(labelDescripcionFeriado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(769, Short.MAX_VALUE))
        );
        tabuladorFeriadosLayout.setVerticalGroup(
            tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorFeriadosLayout.createSequentialGroup()
                .addGap(46, 46, 46)
                .addComponent(labelTituloFeriadosyAsuetos)
                .addGap(54, 54, 54)
                .addGroup(tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorFeriadosLayout.createSequentialGroup()
                        .addComponent(labelFechaFeriado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(2, 2, 2)
                        .addGroup(tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(tabuladorFeriadosLayout.createSequentialGroup()
                                .addComponent(vigenteFeriado)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(labelObservacionesFeriados)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE)
                                .addGroup(tabuladorFeriadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(botonGuardarFeriados)
                                    .addComponent(botonNuevoFeriado))
                                .addGap(13, 13, 13))
                            .addComponent(panelFeriados, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jScrollPane8)))
                    .addComponent(labelDescripcionFeriado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(486, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/feriados.jpeg")), tabuladorFeriados, "Administra Feriados y Asuetos"); // NOI18N

        tabuladorJornadas.setBackground(new java.awt.Color(202, 188, 77));
        tabuladorJornadas.setName("Jornada"); // NOI18N

        labelTituloJornadaLaboral.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloJornadaLaboral.setText("Consultar Jornada Laboral");

        labelNombrejornadaLaboral.setText("Nombre jornada");

        labelJornada.setText("Jornada");

        listaJornadas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaJornadasActionPerformed(evt);
            }
        });

        labelDescripcionJornada.setText("Descripcion");

        areaDescripcionJornada.setColumns(20);
        areaDescripcionJornada.setLineWrap(true);
        areaDescripcionJornada.setRows(5);
        jScrollPane2.setViewportView(areaDescripcionJornada);

        labelHoraEntrada.setText("Hora entrada");

        labelHoraSalida.setText("Hora salida");

        labelTolerancia.setText("Tolerancia");

        botonEditarJornada.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarJornada.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarJornadaActionPerformed(evt);
            }
        });

        botonGuardarJornada.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarJornada.setToolTipText("Guardar Jornada");
        botonGuardarJornada.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarJornadaActionPerformed(evt);
            }
        });

        toleranciaJL.setModel(new javax.swing.SpinnerNumberModel(15, 0, 30, 1));

        botonNuevaJornada.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonNuevaJornada.setToolTipText("Nueva Jornada");
        botonNuevaJornada.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonNuevaJornadaActionPerformed(evt);
            }
        });

        botonEliminarJornada.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarJornada.setToolTipText("Eliminar Jornada");
        botonEliminarJornada.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarJornadaActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorJornadasLayout = new javax.swing.GroupLayout(tabuladorJornadas);
        tabuladorJornadas.setLayout(tabuladorJornadasLayout);
        tabuladorJornadasLayout.setHorizontalGroup(
            tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorJornadasLayout.createSequentialGroup()
                .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorJornadasLayout.createSequentialGroup()
                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabuladorJornadasLayout.createSequentialGroup()
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabuladorJornadasLayout.createSequentialGroup()
                                        .addComponent(labelHoraEntrada)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoHoraEntradaJL, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(27, 27, 27)
                                        .addComponent(labelHoraSalida)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoHoraSalidaJL, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(27, 27, 27)
                                        .addComponent(labelTolerancia)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(toleranciaJL, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(134, 134, 134))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabuladorJornadasLayout.createSequentialGroup()
                                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(labelJornada)
                                            .addComponent(labelNombrejornadaLaboral))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                            .addComponent(campoNombreJornada, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE)
                                            .addComponent(listaJornadas, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                        .addGap(266, 266, 266))))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabuladorJornadasLayout.createSequentialGroup()
                                .addGap(294, 294, 294)
                                .addComponent(labelDescripcionJornada)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 76, Short.MAX_VALUE)
                                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(265, 265, 265)))
                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(botonEditarJornada)
                            .addComponent(botonGuardarJornada)
                            .addComponent(botonNuevaJornada)
                            .addComponent(botonEliminarJornada)))
                    .addGroup(tabuladorJornadasLayout.createSequentialGroup()
                        .addGap(461, 461, 461)
                        .addComponent(labelTituloJornadaLaboral)))
                .addContainerGap(1056, Short.MAX_VALUE))
        );
        tabuladorJornadasLayout.setVerticalGroup(
            tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorJornadasLayout.createSequentialGroup()
                .addGap(28, 28, 28)
                .addComponent(labelTituloJornadaLaboral)
                .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorJornadasLayout.createSequentialGroup()
                        .addGap(70, 70, 70)
                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(campoNombreJornada, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelNombrejornadaLaboral))
                        .addGap(24, 24, 24)
                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(listaJornadas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelJornada))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelHoraEntrada)
                            .addComponent(labelHoraSalida)
                            .addComponent(labelTolerancia)
                            .addComponent(campoHoraEntradaJL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(campoHoraSalidaJL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(toleranciaJL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorJornadasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelDescripcionJornada)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabuladorJornadasLayout.createSequentialGroup()
                        .addGap(38, 38, 38)
                        .addComponent(botonNuevaJornada)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonEditarJornada)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonGuardarJornada)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(botonEliminarJornada)
                .addContainerGap(463, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/jornada.jpeg")), tabuladorJornadas); // NOI18N

        tabuladorEmpleados.setBackground(new java.awt.Color(176, 242, 158));
        tabuladorEmpleados.setToolTipText("Empleados");
        tabuladorEmpleados.setEnabled(false);
        tabuladorEmpleados.setName("Empleados"); // NOI18N

        labelNombreEmpleado.setBackground(new java.awt.Color(143, 253, 113));
        labelNombreEmpleado.setText("Nombre");

        labelApellidoEmpleado.setText("Apellido");

        labelDU.setText("Nº D.U.");

        labelCUIL.setText("CUIL");

        labelFechaAlta.setText("Fecha alta");

        labelFechaNacimiento.setText("Fecha Nacimiento");

        labelLegajo.setText("Nº Legajo");

        labelSexo.setText("Sexo");

        labelNacionalidad.setText("Nacionalidad");

        labelEstadoCivil.setText("Estado Civil");

        labelAntiguedad.setText("Antigüedad");

        comboAntiguedad.setModel(new javax.swing.SpinnerNumberModel(0, 0, 47, 1));

        labelEmail.setText("email");

        labelTelefono.setText("Telefono");

        labelOficinas.setText("Oficina");

        listaOficinaEmpleado.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccionar Oficina" }));

        jLabel4.setText("Jornada laboral");

        listaJornadaEmpleado.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccionar Jornada" }));

        botonHuella.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/pulgares.jpeg"))); // NOI18N
        botonHuella.setToolTipText("Tomar Huella");
        botonHuella.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        botonHuella.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
        botonHuella.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonHuellaActionPerformed(evt);
            }
        });

        botonGuardarEmpleado.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarEmpleado.setToolTipText("Guardar Empleado");
        botonGuardarEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarEmpleadoActionPerformed(evt);
            }
        });

        labelApellidoNombreEmpleados.setText("Apellido y Nombre");

        listaEmpleados.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaEmpleadosActionPerformed(evt);
            }
        });

        labelTipoDU.setText("Tipo D.U.");

        botonEditarEmpleado.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarEmpleado.setToolTipText("EditarEmpleado");
        botonEditarEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarEmpleadoActionPerformed(evt);
            }
        });

        labelTituloEmpleados.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloEmpleados.setText("Consultar Empleados");
        labelTituloEmpleados.setPreferredSize(new java.awt.Dimension(149, 28));

        labelPaisEmpleado.setText("Pais");

        listaPaisEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaPaisEmpleadoActionPerformed(evt);
            }
        });

        jLabel3.setText("Provincia");

        listaProvinciaEmpleado.setMaximumRowCount(24);
        listaProvinciaEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaProvinciaEmpleadoActionPerformed(evt);
            }
        });

        labelDepartamentoPais.setText("Departamento");

        listaDepartamentoEmpleado.setMaximumRowCount(30);
        listaDepartamentoEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaDepartamentoEmpleadoActionPerformed(evt);
            }
        });

        labelDistritoEmpleado.setText("Distrito");

        listaDistritoEmpleado.setMaximumRowCount(30);

        labelBarrioEmpleado.setText("Barrio");

        labelCalleEmpleado.setText("Calle");

        labelNumeroEmpleado.setText("Nº");

        labelPisoEmpleado.setText("Piso");

        labelDeptoEmpleado.setText("Dpto");

        labelVerificacionHuella.setForeground(new java.awt.Color(255, 0, 51));

        botonNuevoEmpleado.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonNuevoEmpleado.setToolTipText("Nuevo Empleado");
        botonNuevoEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonNuevoEmpleadoActionPerformed(evt);
            }
        });

        botonEliminarEmpleado.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarEmpleado.setToolTipText("Eliminar Empleado");
        botonEliminarEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarEmpleadoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorEmpleadosLayout = new javax.swing.GroupLayout(tabuladorEmpleados);
        tabuladorEmpleados.setLayout(tabuladorEmpleadosLayout);
        tabuladorEmpleadosLayout.setHorizontalGroup(
            tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(335, 335, 335)
                        .addComponent(labelTituloEmpleados, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(36, 36, 36)
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                        .addComponent(labelFechaAlta)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(comboFechaAltaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelSexo)
                                        .addGap(3, 3, 3)
                                        .addComponent(comboSexo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelNacionalidad)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoNacionalidad, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(labelCUIL)
                                        .addGap(18, 18, 18)
                                        .addComponent(campoCUIL, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(labelTelefono)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoNumeroTelefono, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                        .addComponent(labelDistritoEmpleado)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaDistritoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelBarrioEmpleado)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoBarrioEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(labelCalleEmpleado)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoCalleEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(labelNumeroEmpleado)
                                        .addGap(4, 4, 4)
                                        .addComponent(campoNumeroEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(labelPisoEmpleado)
                                        .addGap(4, 4, 4)
                                        .addComponent(campoPisoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                        .addComponent(labelNombreEmpleado)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(campoNombreEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(labelApellidoEmpleado)
                                        .addGap(4, 4, 4)
                                        .addComponent(campoApellidoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(labelVerificacionHuella, javax.swing.GroupLayout.PREFERRED_SIZE, 439, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addComponent(labelDeptoEmpleado)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(campoDeptoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                        .addComponent(labelPaisEmpleado)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaPaisEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(18, 18, 18)
                                        .addComponent(jLabel3)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaProvinciaEmpleado, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(labelDepartamentoPais)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(listaDepartamentoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 285, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                                .addComponent(labelApellidoNombreEmpleados)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(listaEmpleados, javax.swing.GroupLayout.PREFERRED_SIZE, 338, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(labelLegajo)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(campoLegajo, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(labelTipoDU)
                                                .addGap(4, 4, 4)
                                                .addComponent(listaTipoDU, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(labelDU)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(campoDU, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                                .addComponent(labelFechaNacimiento)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(comboFechaNacimiento, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(30, 30, 30)
                                                .addComponent(labelEstadoCivil)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(comboEstadoCivil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(labelAntiguedad)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(comboAntiguedad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(labelEmail)
                                                .addGap(14, 14, 14)
                                                .addComponent(campoEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                                                .addComponent(labelOficinas)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(listaOficinaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(72, 72, 72)
                                                .addComponent(jLabel4)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(listaJornadaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                        .addGap(23, 23, 23)))
                                .addGap(135, 135, 135)
                                .addComponent(labelHuella))))
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(227, 227, 227)
                        .addComponent(botonNuevoEmpleado)
                        .addGap(18, 18, 18)
                        .addComponent(botonEditarEmpleado)
                        .addGap(18, 18, 18)
                        .addComponent(botonGuardarEmpleado)
                        .addGap(18, 18, 18)
                        .addComponent(botonEliminarEmpleado)
                        .addGap(18, 18, 18)
                        .addComponent(botonHuella)))
                .addContainerGap(1025, Short.MAX_VALUE))
        );
        tabuladorEmpleadosLayout.setVerticalGroup(
            tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                .addGap(32, 32, 32)
                .addComponent(labelTituloEmpleados, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelNombreEmpleado)
                    .addComponent(campoNombreEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelApellidoEmpleado)
                    .addComponent(campoApellidoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelLegajo)
                            .addComponent(campoLegajo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelDU)
                            .addComponent(campoDU, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelApellidoNombreEmpleados)
                            .addComponent(listaEmpleados, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelTipoDU)
                            .addComponent(listaTipoDU, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(33, 33, 33)
                        .addComponent(labelHuella)))
                .addGap(32, 32, 32)
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(labelFechaAlta)
                        .addComponent(labelTelefono)
                        .addComponent(campoNumeroTelefono, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(campoCUIL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(labelCUIL)
                        .addComponent(labelSexo)
                        .addComponent(comboSexo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(labelNacionalidad)
                        .addComponent(campoNacionalidad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(comboFechaAltaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(25, 25, 25)
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelFechaNacimiento)
                    .addComponent(comboFechaNacimiento, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelEmail)
                            .addComponent(campoEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelEstadoCivil)
                            .addComponent(comboEstadoCivil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelAntiguedad)
                            .addComponent(comboAntiguedad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelOficinas)
                            .addComponent(listaOficinaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel4)
                            .addComponent(listaJornadaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(18, 18, 18)
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(labelPaisEmpleado)
                        .addComponent(listaPaisEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel3)
                        .addComponent(listaProvinciaEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(listaDepartamentoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(labelDepartamentoPais)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(labelDistritoEmpleado)
                    .addComponent(listaDistritoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelBarrioEmpleado)
                    .addComponent(campoBarrioEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelCalleEmpleado)
                    .addComponent(campoCalleEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelNumeroEmpleado)
                    .addComponent(campoNumeroEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelPisoEmpleado)
                    .addComponent(campoPisoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelDeptoEmpleado)
                    .addComponent(campoDeptoEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(26, 26, 26)
                .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(tabuladorEmpleadosLayout.createSequentialGroup()
                        .addComponent(labelVerificacionHuella, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(tabuladorEmpleadosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(botonEditarEmpleado)
                                .addComponent(botonNuevoEmpleado, javax.swing.GroupLayout.Alignment.LEADING))
                            .addComponent(botonGuardarEmpleado)))
                    .addComponent(botonEliminarEmpleado)
                    .addComponent(botonHuella))
                .addContainerGap(435, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/empleados.jpeg")), tabuladorEmpleados, "Administrar Empleados"); // NOI18N

        tabPresentacion.setBackground(new java.awt.Color(234, 189, 144));
        tabPresentacion.setToolTipText("Acerca de...");

        jLabel1.setFont(new java.awt.Font("Ubuntu", 1, 36)); // NOI18N
        jLabel1.setText("Sistema Personal ID");

        javax.swing.GroupLayout tabPresentacionLayout = new javax.swing.GroupLayout(tabPresentacion);
        tabPresentacion.setLayout(tabPresentacionLayout);
        tabPresentacionLayout.setHorizontalGroup(
            tabPresentacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabPresentacionLayout.createSequentialGroup()
                .addGroup(tabPresentacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabPresentacionLayout.createSequentialGroup()
                        .addGap(366, 366, 366)
                        .addComponent(jLabel1))
                    .addGroup(tabPresentacionLayout.createSequentialGroup()
                        .addGap(108, 108, 108)
                        .addComponent(labelAdmin)))
                .addContainerGap(1305, Short.MAX_VALUE))
        );
        tabPresentacionLayout.setVerticalGroup(
            tabPresentacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabPresentacionLayout.createSequentialGroup()
                .addGap(74, 74, 74)
                .addComponent(jLabel1)
                .addGap(135, 135, 135)
                .addComponent(labelAdmin, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(561, Short.MAX_VALUE))
        );

        tab.addTab("Acerca de....", null, tabPresentacion, "Acerca de....");
        tabPresentacion.getAccessibleContext().setAccessibleName("Acerca de....");

        tabuladorInformes.setBackground(new java.awt.Color(198, 162, 125));
        tabuladorInformes.setToolTipText("Informes");
        tabuladorInformes.setName("Informes"); // NOI18N

        labelTipoInformes.setText("Tipos de Informes");

        listaInformes.setToolTipText("Seleccione un informe");
        listaInformes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaInformesActionPerformed(evt);
            }
        });

        labelFechaDesdeInforme.setText("Desde");

        labelfechaHastaInfomre.setText("Hasta");

        botonGenerarReporte.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/pdf.jpeg"))); // NOI18N
        botonGenerarReporte.setText("Generar reporte");
        botonGenerarReporte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGenerarReporteActionPerformed(evt);
            }
        });

        dateInformeDesde.setNothingAllowed(false);

        dateInformeHasta.setNothingAllowed(false);

        listaInformeEmpleado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaInformeEmpleadoActionPerformed(evt);
            }
        });

        labelInformeApellido.setText("Apellido y Nombre");

        listaInformeOficina.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaInformeOficinaActionPerformed(evt);
            }
        });

        labelInformeOficina.setText("Oficina");

        javax.swing.GroupLayout tabuladorInformesLayout = new javax.swing.GroupLayout(tabuladorInformes);
        tabuladorInformes.setLayout(tabuladorInformesLayout);
        tabuladorInformesLayout.setHorizontalGroup(
            tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabuladorInformesLayout.createSequentialGroup()
                .addGap(64, 64, 64)
                .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelTipoInformes)
                    .addComponent(labelInformeApellido))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(listaInformeEmpleado, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(listaInformes, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(137, 137, 137)
                .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(labelFechaDesdeInforme)
                    .addComponent(labelInformeOficina))
                .addGap(18, 18, 18)
                .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(tabuladorInformesLayout.createSequentialGroup()
                        .addComponent(dateInformeDesde, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(labelfechaHastaInfomre)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(dateInformeHasta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(listaInformeOficina, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(98, 98, 98)
                .addComponent(botonGenerarReporte, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(982, Short.MAX_VALUE))
        );
        tabuladorInformesLayout.setVerticalGroup(
            tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorInformesLayout.createSequentialGroup()
                .addGap(66, 66, 66)
                .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorInformesLayout.createSequentialGroup()
                        .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(labelfechaHastaInfomre, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(labelFechaDesdeInforme))
                            .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(labelTipoInformes)
                                .addComponent(listaInformes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(dateInformeDesde, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(dateInformeHasta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(26, 26, 26)
                        .addGroup(tabuladorInformesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(listaInformeEmpleado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelInformeApellido)
                            .addComponent(listaInformeOficina, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelInformeOficina)))
                    .addComponent(botonGenerarReporte, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(703, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/informes.jpeg")), tabuladorInformes, "Generar reportes"); // NOI18N

        tabuladorOperaciones.setBackground(new java.awt.Color(220, 116, 81));
        tabuladorOperaciones.setName("Operaciones"); // NOI18N

        botonEditarOperaciones.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/editar.jpeg"))); // NOI18N
        botonEditarOperaciones.setToolTipText("Nuevo / Editar Perfil");
        botonEditarOperaciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEditarOperacionesActionPerformed(evt);
            }
        });

        labelNombreOperaciones.setText("Operaciones");

        labelDescripcionOperaciones.setText("Descripcion");

        areaDescripcionOperaciones.setColumns(20);
        areaDescripcionOperaciones.setLineWrap(true);
        areaDescripcionOperaciones.setRows(5);
        jScrollPane3.setViewportView(areaDescripcionOperaciones);

        botonGuardarOperaciones.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/guardar.jpeg"))); // NOI18N
        botonGuardarOperaciones.setToolTipText("Guardar perfil");
        botonGuardarOperaciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonGuardarOperacionesActionPerformed(evt);
            }
        });

        listaOperaciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                listaOperacionesActionPerformed(evt);
            }
        });

        labelNuevoOperaciones.setText("Nombre operacion");

        labelTituloOperaciones.setFont(new java.awt.Font("Ubuntu", 1, 24)); // NOI18N
        labelTituloOperaciones.setText("Consultar Operaciones");

        botonNuevaOperacion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/agregar.jpeg"))); // NOI18N
        botonNuevaOperacion.setToolTipText("Nueva Operación");
        botonNuevaOperacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonNuevaOperacionActionPerformed(evt);
            }
        });

        botonEliminarOperaciones.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Pantallas/eliminar.jpeg"))); // NOI18N
        botonEliminarOperaciones.setToolTipText("BotonEliminarOperacion");
        botonEliminarOperaciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonEliminarOperacionesActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabuladorOperacionesLayout = new javax.swing.GroupLayout(tabuladorOperaciones);
        tabuladorOperaciones.setLayout(tabuladorOperacionesLayout);
        tabuladorOperacionesLayout.setHorizontalGroup(
            tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorOperacionesLayout.createSequentialGroup()
                .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorOperacionesLayout.createSequentialGroup()
                        .addGap(230, 230, 230)
                        .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(labelNombreOperaciones)
                            .addComponent(labelDescripcionOperaciones)
                            .addComponent(labelNuevoOperaciones))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(listaOperaciones, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(campoNuevoOperaciones, javax.swing.GroupLayout.PREFERRED_SIZE, 297, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabuladorOperacionesLayout.createSequentialGroup()
                        .addGap(383, 383, 383)
                        .addComponent(labelTituloOperaciones)))
                .addGap(53, 53, 53)
                .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(botonEliminarOperaciones)
                    .addComponent(botonNuevaOperacion)
                    .addComponent(botonEditarOperaciones)
                    .addComponent(botonGuardarOperaciones))
                .addContainerGap(1187, Short.MAX_VALUE))
        );
        tabuladorOperacionesLayout.setVerticalGroup(
            tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabuladorOperacionesLayout.createSequentialGroup()
                .addGap(28, 28, 28)
                .addComponent(labelTituloOperaciones)
                .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabuladorOperacionesLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelNuevoOperaciones)
                            .addComponent(campoNuevoOperaciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(labelNombreOperaciones)
                            .addComponent(listaOperaciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(19, 19, 19)
                        .addGroup(tabuladorOperacionesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelDescripcionOperaciones)
                            .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabuladorOperacionesLayout.createSequentialGroup()
                        .addGap(47, 47, 47)
                        .addComponent(botonNuevaOperacion)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonEditarOperaciones)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(botonGuardarOperaciones)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(botonEliminarOperaciones)
                .addContainerGap(454, Short.MAX_VALUE))
        );

        tab.addTab("", new javax.swing.ImageIcon(getClass().getResource("/Pantallas/operaciones.jpeg")), tabuladorOperaciones); // NOI18N

        label4.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label4.setText("Perfiles");

        label9.setFont(new java.awt.Font("Ubuntu", 1, 15)); // NOI18N
        label9.setText("Operaciones");

        nombreVisible.setForeground(new java.awt.Color(255, 0, 51));

        javax.swing.GroupLayout panel_FondoLayout = new javax.swing.GroupLayout(panel_Fondo);
        panel_Fondo.setLayout(panel_FondoLayout);
        panel_FondoLayout.setHorizontalGroup(
            panel_FondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panel_FondoLayout.createSequentialGroup()
                .addGroup(panel_FondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panel_FondoLayout.createSequentialGroup()
                        .addGap(37, 37, 37)
                        .addComponent(label0)
                        .addGap(56, 56, 56)
                        .addComponent(label1)
                        .addGap(57, 57, 57)
                        .addComponent(label2)
                        .addGap(65, 65, 65)
                        .addComponent(label3)
                        .addGap(76, 76, 76)
                        .addComponent(label4)
                        .addGap(52, 52, 52)
                        .addComponent(label5)
                        .addGap(61, 61, 61)
                        .addComponent(label6)
                        .addGap(58, 58, 58)
                        .addComponent(label7)
                        .addGap(48, 48, 48)
                        .addComponent(label8)
                        .addGap(61, 61, 61)
                        .addComponent(label9))
                    .addGroup(panel_FondoLayout.createSequentialGroup()
                        .addGap(639, 639, 639)
                        .addComponent(nombreVisible, javax.swing.GroupLayout.PREFERRED_SIZE, 260, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(206, 735, Short.MAX_VALUE))
            .addGroup(panel_FondoLayout.createSequentialGroup()
                .addComponent(tab, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        panel_FondoLayout.setVerticalGroup(
            panel_FondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panel_FondoLayout.createSequentialGroup()
                .addComponent(nombreVisible, javax.swing.GroupLayout.PREFERRED_SIZE, 13, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(11, 11, 11)
                .addGroup(panel_FondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(label0)
                    .addComponent(label1)
                    .addComponent(label2)
                    .addComponent(label3)
                    .addComponent(label8)
                    .addComponent(label5)
                    .addComponent(label6)
                    .addComponent(label7)
                    .addComponent(label9)
                    .addComponent(label4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(tab, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(17, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panel_Fondo, javax.swing.GroupLayout.DEFAULT_SIZE, 2029, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(panel_Fondo, javax.swing.GroupLayout.PREFERRED_SIZE, 1122, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 12, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void titulos(int contab, String titulo) {
        vec[contab - 1] = titulo;
        switch (contab) {
            case 1:
                label0.setText(titulo);
                label0.setVisible(true);
                break;
            case 2:
                label1.setText(titulo);
                label1.setVisible(true);
                break;
            case 3:
                label2.setText(titulo);
                label2.setVisible(true);
                break;
            case 4:
                label3.setText(titulo);
                label3.setVisible(true);
                break;
            case 5:
                label4.setText(titulo);
                label4.setVisible(true);
                break;
            case 6:
                label5.setText(titulo);
                label5.setVisible(true);
                break;
            case 7:
                label6.setText(titulo);
                label6.setVisible(true);
                break;
            case 8:
                label7.setText(titulo);
                label7.setVisible(true);
                break;
            case 9:
                label8.setText(titulo);
                label8.setVisible(true);
                break;
            case 10:
                label9.setText(titulo);
                label9.setVisible(true);
                break;
        }
    }
    private void tabMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tabMouseClicked
        for (int i = 0; i < vec.length; i++) {
            if (vec[i] != null) {
                ////////OFICINAS////////
                if (vec[i].equalsIgnoreCase(tabuladorOficinas.getName())) {
                    if (contadorOficina == 0) {
                        botonGuardarOficinas.setEnabled(false);
                        botonEditarOficina.setEnabled(false);
                        botonEliminarOficina.setEnabled(false);
                        botonNuevaOficina.setEnabled(true);
                        campoNombreOficinas.setVisible(false);
                        labelNombreOficinaACrear.setVisible(false);
                        mco.removeAllElements();
                        mco.addElement(controladorOficina.inicializarPantallaOficina());
                        listaOficinas.setModel(mco);
                        listaOficinas.setSelectedItem(0);
                        contadorOficina++;
                    }
                }
                //////EMPLEADOS//////
                if (vec[i].equalsIgnoreCase(tabuladorEmpleados.getName())) {
                    if (contadorEmpleado == 0) {
                        listaEmpleados.setVisible(true);
                        listaEmpleados.removeAllItems();
                        mcempleado.removeAllElements();
                        listaJornadaEmpleado.removeAllItems();
                        listaOficinaEmpleado.removeAllItems();
                        mcempleado.addElement(controladorEmpleado.inicializarPantallaEmpleado());
                        listaEmpleados.setModel(mcempleado);
                        listaEmpleados.setSelectedItem(0);
                        //Deshabilito botones y campos
                        labelNombreEmpleado.setVisible(false);
                        campoNombreEmpleado.setVisible(false);
                        labelApellidoEmpleado.setVisible(false);
                        campoApellidoEmpleado.setVisible(false);
                        botonGuardarEmpleado.setEnabled(false);
                        botonEliminarEmpleado.setEnabled(false);
                        botonEditarEmpleado.setEnabled(false);
                        botonNuevoEmpleado.setEnabled(true);
                        botonHuella.setVisible(false);
                        campoLegajo.setEditable(false);
                        listaTipoDU.setEnabled(false);
                        campoDU.setEditable(false);
                        labelFechaAlta.setVisible(false);
                        comboFechaAltaEmpleado.setVisible(false);
                        comboSexo.setEnabled(false);
                        campoNacionalidad.setEditable(false);
                        campoCUIL.setEditable(false);
                        campoNumeroTelefono.setEditable(false);
                        comboEstadoCivil.setEnabled(false);
                        comboAntiguedad.setEnabled(false);
                        campoEmail.setEditable(false);
                        labelFechaNacimiento.setVisible(false);
                        comboFechaNacimiento.setVisible(false);
                        botonEditarEmpleado.setEnabled(false);
                        listaOficinaEmpleado.setEnabled(true);
                        listaJornadaEmpleado.setEnabled(true);
                    }
                }
                /////INFORMES/////
                if (vec[i].equalsIgnoreCase(tabuladorInformes.getName())) {
                    if (contadorInformes == 0) {
                        List<UsuarioPerfil> usuarioPerfilListado = usuariolicencia.getUsuarioPerfilLista();
                        for (UsuarioPerfil usuarioPerfil : usuarioPerfilListado) {
                            if (usuarioPerfil.getIdPerfil().getNombrePerfil().contains("Empleado")) {
                                listaInformes.addItem("Seleccione un informe");
                                listaInformes.addItem("Personal presentismo y tardanzas");
                                listaInformes.addItem("Licencia personal");
                                listaInformes.addItem("Presentismo simple");
                                perfilausar = "Empleado";
                            } else if (usuarioPerfil.getIdPerfil().getNombrePerfil().contains("Oficial Público")) {
                                listaInformes.addItem("Seleccione un informe");
                                listaInformes.addItem("Personal presentismo y tardanzas");
                                listaInformes.addItem("Licencia personal");
                                listaInformes.addItem("Presentismo simple");
                                listaInformes.addItem("Presentismo por oficina");
                                listaInformes.addItem("Licencia por oficina");
                                perfilausar = "Oficial Público";
                            } else {
                                listaInformes.addItem("Seleccione un informe");
                                listaInformes.addItem("Personal presentismo y tardanzas");
                                listaInformes.addItem("Licencia personal");
                                listaInformes.addItem("Presentismo simple");
                                listaInformes.addItem("Presentismo por oficina");
                                listaInformes.addItem("Presentismo por oficinas");
                                listaInformes.addItem("Licencia por oficinas");
                                perfilausar = "Otro";
                            }
                        }
                        listaInformes.setSelectedItem(0);
                        botonGenerarReporte.setEnabled(false);
                        listaInformeEmpleado.setEnabled(false);
                        listaInformeOficina.setEnabled(false);
                        dateInformeDesde.setEnabled(false);
                        dateInformeHasta.setEnabled(false);
                        contadorInformes++;
                    }
                }
                //////////USUARIOS//////////
                if (vec[i].equalsIgnoreCase(tabuladorUsuarios.getName())) {
                    if (contadorUsuario == 0) {
                        campoUsuario.setVisible(false);
                        labelUsuario.setVisible(false);
                        campoUsuarioEmpleado.setVisible(false);
                        labelUsuarioEmpleado.setVisible(false);
                        campoPassword.setSize(12, 200);
                        botonGuardarUsuario.setEnabled(false);
                        botonEditarUsuario.setEnabled(false);
                        botonEliminarUsuario.setEnabled(false);
                        botonNuevoUsuario.setEnabled(true);
                        listaUsuariosEmpleados.setVisible(false);
                        labelUsuarioEmpleados.setVisible(false);
                        mcusuario.removeAllElements();
                        mcusuario.addElement(controladorUsuario.inicializarPantallaUsuario());
                        listaUsuarios.setModel(mcusuario);
                        listaUsuarios.setSelectedItem(0);
                        contadorUsuario++;
                    }
                }
                ////////PERFILES//////////////
                if (vec[i].equalsIgnoreCase(tabuladorPerfil.getName())) {
                    if (contadorPerfil == 0) {
                        botonGuardarPerfil.setEnabled(false);
                        campoNombrePerfil.setText("");
                        areaDescripcionPerfil.setText("");
                        campoNombrePerfil.setVisible(false);
                        labelNuevoPerfil.setVisible(false);
                        botonEditarPerfil.setEnabled(false);
                        botonEliminarPerfil.setEnabled(false);
                        mcc.removeAllElements();
                        mcc.addElement(controladorPerfil.incializarPantallaPerfil());
                        listaPerfil.setModel(mcc);
                        listaPerfil.setSelectedItem(0);
                        contadorPerfil++;
                    }
                }
                ////////LICENCIAS///////////////
                //Busco todas las licencias y modifico las que ya se vencieron
                lic = controladorLicencias.buscarLicencias();
                areaMotivoLicencia.setText("");
                observacionLicencia = "";
                int fechasComparadas = 0;
                for (int j = 0; j < lic.size(); j++) {
                    fechasComparadas = lic.get(j).getFechaInicioLicencia().compareTo(hoy);
                    if (fechasComparadas == -1 && lic.get(j).getEstadoLicenciaCollection().get(1).getNombreEstado() == null) {
                        lic.get(j).getEstadoLicenciaCollection().get(1).setNombreEstado("Perdida");
                        lic.get(j).getEstadoLicenciaCollection().get(1).setFechaCambioEstado(hoy);
                        lic.get(j).getEstadoLicenciaCollection().get(1).setObservacion("No se pudo procesar");
                        controladorLicencias.autorizarLicencia(lic.get(j).getEstadoLicenciaCollection().get(1));
                    }
                }
                //Vacio la variable y muestro las licencias modificadas
                lic = null;
                ////Cargo la tabla con todas las licencias segun el perfil correspondiente
                //Si el usuario es administrador muestro todas las licencias sino solo muestras las del empleado
                perfillicencia = usuariolicencia.getUsuarioPerfilLista().get(0).getIdPerfil().getIdPerfil();
                if (perfillicencia == 1051) {
                    lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
                }
                if (perfillicencia == 1001) {
                    //lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
                    lic = controladorLicencias.buscarLicencias();
                }
                if (perfillicencia == 1401) {
                    lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
                }
                if (perfillicencia == 1402) {
                    lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
                }
                if (perfillicencia == 1002) {
                    lic = controladorLicencias.buscarLicencias();
                }
                ModeloTablaLicencias modeloTabla = new ModeloTablaLicencias();
                modeloTabla.setList(lic);
                tablaLicencias.setModel(modeloTabla);
                if (vec[i].equalsIgnoreCase(tabuladorLicencias.getName())) {
                    mcel.removeAllElements();
                    List<UsuarioPerfil> usuarioPerfilListado = usuariolicencia.getUsuarioPerfilLista();
                    for (UsuarioPerfil usuarioPerfil : usuarioPerfilListado) {
                        if (usuarioPerfil.getIdPerfil().getIdPerfil() == 1051 || usuarioPerfil.getIdPerfil().getIdPerfil() == 1401 || usuarioPerfil.getIdPerfil().getIdPerfil() == 1402) {
                            mcel.addElement(usuariolicencia.getIdEmpleado());
                            simple = false;
                        }
                    }
                    if (simple) {
                        mcel.addElement(controladorEmpleado.inicializarPantallaEmpleado());
                    }
                    listaApellidoLicencias.setModel(mcel);
                    listaApellidoLicencias.setSelectedItem(0);
                    if (cl) {
                        tablaLicencias.setEnabled(cl);
                        areaMotivoLicencia.setEnabled(cl);
                        botonAutorizarLicencia.setEnabled(!cl);
                        botonRechazarLicencia.setEnabled(!cl);
                        listaApellidoLicencias.setEnabled(!cl);
                        fechaDesdeLicencia.setEnabled(false);
                        fechaHastaLicencia.setEnabled(false);
                    }
                    if (sl) {
                        botonAutorizarLicencia.setEnabled(!sl);
                        botonRechazarLicencia.setEnabled(!sl);
                        listaApellidoLicencias.setEnabled(sl);
                        fechaDesdeLicencia.setEnabled(true);
                        fechaHastaLicencia.setEnabled(true);
                    }

                    listaTipoLicencia.setEnabled(true);
                }
                ////////////FERIADOS//////////////
                if (vec[i].equalsIgnoreCase(tabuladorFeriados.getName())) {
                    if (contadorFeriados == 0) {
                        panelFeriados.setEnabled(false);
                        botonGuardarFeriados.setEnabled(false);
                        vigenteFeriado.setEnabled(false);
                        listaFeriados.setEnabled(true);
                        mcf.addElement(controladorFeriados.buscarFeriadosVigentes());
                        listaFeriados.setModel(mcf);
                        listaFeriados.setSelectedIndex(0);
                        contadorFeriados++;
                    }
                }
                /////////ESCANER///////////////
                if (vec[i].equalsIgnoreCase(tabuladorEscaner.getName())) {
                    if (contadorEscaner == 0) {
                        botonGuardarEscaner.setEnabled(false);
                        botonEliminarEscaner.setEnabled(false);
                        botonEditarEscaner.setEnabled(false);
                        botonAltaEscaner.setEnabled(true);
                        campoNuevoEscaner.setVisible(false);
                        labelNumeroSerie2.setVisible(false);
                        mce.removeAllElements();
                        mce.addElement(controladorEscaner.incializarPantallaEscaner());
                        listaNumeroEscaner.setModel(mce);
                        listaNumeroEscaner.setSelectedItem(0);
                        contadorEscaner++;
                    }
                }
                /////////////JORNADAS//////////////
                if (vec[i].equalsIgnoreCase(tabuladorJornadas.getName())) {
                    if (contadorJornada == 0) {
                        labelNombrejornadaLaboral.setVisible(false);
                        campoNombreJornada.setVisible(false);
                        botonGuardarJornada.setEnabled(false);
                        botonEliminarJornada.setEnabled(false);
                        botonEditarJornada.setEnabled(false);
                        campoNombreJornada.setText("");
                        areaDescripcionJornada.setText("");
                        toleranciaJL.setValue(0);
                        campoHoraEntradaJL.setText("");
                        campoHoraSalidaJL.setText("");
                        mcj.removeAllElements();
                        mcj.addElement(controladorJornada.incializarPantallaJornada());
                        listaJornadas.setModel(mcj);
                        listaJornadas.setSelectedItem(0);
                        contadorJornada++;
                    }
                }
                ///////////OPERACIONES////////
                if (vec[i].equalsIgnoreCase(tabuladorOperaciones.getName())) {
                    if (contadorOperaciones == 0) {
                        labelNuevoOperaciones.setVisible(false);
                        campoNuevoOperaciones.setVisible(false);
                        botonEditarOperaciones.setEnabled(false);
                        botonEliminarOperaciones.setEnabled(false);
                        botonGuardarOperaciones.setEnabled(false);
                        campoNuevoOperaciones.setText("");
                        areaDescripcionOperaciones.setText("");
                        mcp.removeAllElements();
                        mcp.addElement(controladorOperaciones.incializarPantallaOperaciones());
                        listaOperaciones.setModel(mcp);
                        listaOperaciones.setSelectedItem(0);
                        contadorOperaciones++;
                    }
    }//GEN-LAST:event_tabMouseClicked
            }
        }
    }
    private void listaOperacionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaOperacionesActionPerformed
        if (listaOperaciones.getSelectedItem() instanceof Operaciones) {
            Operaciones p = (Operaciones) listaOperaciones.getSelectedItem();
            /////solo muestro los perfiles activos
            campoNuevoOperaciones.setText(p.getNombreOperaciones());
            campoNuevoOperaciones.setEditable(auxiliarOperaciones);
            areaDescripcionOperaciones.setText(p.getDescripcionOperaciones());
            areaDescripcionOperaciones.setEditable(auxiliarOperaciones);
            botonGuardarOperaciones.setEnabled(false);
            botonEliminarOperaciones.setEnabled(true);
            botonEditarOperaciones.setEnabled(true);
        } else {
            areaDescripcionOperaciones.setText("");
        }
    }//GEN-LAST:event_listaOperacionesActionPerformed

    private void botonGuardarOperacionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarOperacionesActionPerformed
        //Verifico que no exista una operacion con el mismo nombre//
        boolean busquedaOperacion = false, guardarOperacion = false;
        int contadorO = 0;
        List<Operaciones> busquedaRepetidos;
        busquedaRepetidos = controladorOperaciones.buscarOperacion(campoNuevoOperaciones.getText());
        for (Operaciones operaciones1 : busquedaRepetidos) {
            if (operaciones1.getVigenteOperaciones()) {
                busquedaOperacion = true;
            } else {
                busquedaOperacion = false;
            }
            contadorO++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorO++;
        }
        //Retorna falso si existe ese nombre de operacion y no entra en el if, mostrando mensaje de error en else
        if (listaOperaciones.getSelectedItem() instanceof Operaciones) {
            Operaciones p = (Operaciones) listaOperaciones.getSelectedItem();
            controladorOperaciones.modificarOperaciones(p, areaDescripcionOperaciones.getText());
            guardarOperacion = true;
        } else {
            if (!busquedaOperacion && contadorO > 0) {
                controladorOperaciones.nuevoOperaciones(campoNuevoOperaciones.getText(), areaDescripcionOperaciones.getText());
                guardarOperacion = true;
            }
            if (busquedaOperacion) {
                JOptionPane.showMessageDialog(null, "Ya existe una Operacion con el nombre: " + campoNuevoOperaciones.getText(), "Error al guardar!", 2);
                guardarOperacion = false;
            }
        }
        tabMouseClicked(null);
        if (guardarOperacion) {
            JOptionPane.showMessageDialog(null, "Operación guardada con éxito", "Guardar operaciones: ", 1);
        }
        if (busquedaOperacion || guardarOperacion) {
            labelTituloOperaciones.setText("Consultar Operaciones");
            botonNuevaOperacion.setVisible(true);
            botonEliminarOperaciones.setVisible(true);
        }
        ///////Despues de guardar los datos refresco la pantalla
        botonGuardarOperaciones.setEnabled(false);
        botonEliminarOperaciones.setEnabled(true);
        botonNuevaOperacion.setEnabled(true);
        listaOperaciones.setVisible(true);
        labelNombreOperaciones.setVisible(true);
        labelNuevoOperaciones.setVisible(false);
        campoNuevoOperaciones.setVisible(false);
        campoNuevoOperaciones.setText("");
        areaDescripcionOperaciones.setText("");
        mcp.removeAllElements();
        mcp.addElement(controladorOperaciones.incializarPantallaOperaciones());
        listaOperaciones.setModel(mcp);
        listaOperaciones.setSelectedItem(0);
    }//GEN-LAST:event_botonGuardarOperacionesActionPerformed

    private void botonEditarOperacionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarOperacionesActionPerformed
        if (!auxiliarOperaciones) {
            labelTituloOperaciones.setText("Editar Operación");
            botonGuardarOperaciones.setEnabled(!auxiliarOperaciones); //Habilito
            campoNuevoOperaciones.setVisible(false);
            labelNuevoOperaciones.setVisible(false);
            botonNuevaOperacion.setVisible(false);
            botonEliminarOperaciones.setVisible(false);
            areaDescripcionOperaciones.setEditable(!auxiliarOperaciones);
        } else {
            labelTituloOperaciones.setText("Consultar Operaciones");
            botonGuardarOperaciones.setEnabled(false);
            botonNuevaOperacion.setVisible(true);
            botonEliminarOperaciones.setVisible(true);
            mcp.removeAllElements();
            mcp.addElement(controladorOperaciones.incializarPantallaOperaciones());
            listaOperaciones.setModel(mcp);
            listaOperaciones.setSelectedItem(0);
        }
        auxiliarOperaciones = !auxiliarOperaciones;
    }//GEN-LAST:event_botonEditarOperacionesActionPerformed

    private void listaJornadasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaJornadasActionPerformed
        if (listaJornadas.getSelectedItem() instanceof JornadaLaboral) {
            JornadaLaboral jl = (JornadaLaboral) listaJornadas.getSelectedItem();
            campoNombreJornada.setText(jl.getNombreJL());
            areaDescripcionJornada.setText(jl.getDescripcionJornada());
            campoHoraEntradaJL.setText(ConvertirFechas.horaAString(jl.getHsEntradaJL()));
            campoHoraSalidaJL.setText(ConvertirFechas.horaAString(jl.getHsSalidaJL()));
            toleranciaJL.setValue(jl.getTolerancia());
            campoNombreJornada.setEditable(auxiliarJornada);
            areaDescripcionJornada.setEditable(auxiliarJornada);
            campoHoraEntradaJL.setEditable(auxiliarJornada);
            campoHoraSalidaJL.setEditable(auxiliarJornada);
            toleranciaJL.setEnabled(auxiliarJornada);
            botonGuardarJornada.setEnabled(false);
            botonEditarJornada.setEnabled(true);
        } else {
            areaDescripcionJornada.setText("");
            campoHoraEntradaJL.setText("");
            campoHoraSalidaJL.setText("");
            toleranciaJL.setValue(0);
        }
    }//GEN-LAST:event_listaJornadasActionPerformed

    private void botonGuardarJornadaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarJornadaActionPerformed
        //Verifico que no exista una jornada con el mismo nombre//
        boolean busquedaJornada = false, guardarJornada = false;
        int contadorjl = 0;
        List<JornadaLaboral> busquedaRepetidos;
        busquedaRepetidos = controladorJornada.buscarJornadaNombre(campoNombreJornada.getText());
        for (JornadaLaboral j1 : busquedaRepetidos) {
            if (j1.getVigenteJL()) {
                busquedaJornada = true;
            } else {
                busquedaJornada = false;
            }
            contadorjl++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorjl++;
        }
        //Retorna falso si existe ese nombre de Jornada y no entra en el if, mostrando mensaje de error en else
        String timeentrada = campoHoraEntradaJL.getText();
        String timesalida = campoHoraSalidaJL.getText();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        Date dateentrada = new Date();
        Date datesalida = new Date();
        try {
            dateentrada = sdf.parse(timeentrada);
            datesalida = sdf.parse(timesalida);
        } catch (ParseException ex) {
        }
        if (listaJornadas.getSelectedItem() instanceof JornadaLaboral) {
            JornadaLaboral jl = (JornadaLaboral) listaJornadas.getSelectedItem();
            controladorJornada.modificarJornada(jl, areaDescripcionJornada.getText(), dateentrada, datesalida, (Integer) toleranciaJL.getValue());
            guardarJornada = true;
        } else {
            if (!busquedaJornada && contadorjl > 0) {
                controladorJornada.nuevoJornada(campoNombreJornada.getText(), areaDescripcionJornada.getText(), dateentrada, datesalida, (Integer) toleranciaJL.getValue());
                guardarJornada = true;
            }
            if (busquedaJornada) {
                JOptionPane.showMessageDialog(null, "Ya existe una Jornada con el nombre: " + campoNombreJornada.getText(), "Error al guardar!", 2);
                guardarJornada = false;
            }
        }
        tabMouseClicked(null);
        if (guardarJornada) {
            JOptionPane.showMessageDialog(null, "Jornada Laboral guardada con éxito", "Guardar Jornadas: ", 1);
        }
        if (busquedaJornada || guardarJornada) {
            labelTituloJornadaLaboral.setText("Consultar Jornada Laboral");
            botonGuardarJornada.setEnabled(false);
            botonNuevaJornada.setVisible(true);
            botonEliminarJornada.setVisible(true);
        }
        ///////Despues de guardar los datos refresco la pantalla
        botonGuardarJornada.setEnabled(false);
        botonEliminarJornada.setEnabled(true);
        botonNuevaJornada.setEnabled(true);
        listaJornadas.setVisible(true);
        labelJornada.setVisible(true);
        labelNombrejornadaLaboral.setVisible(false);
        campoNombreJornada.setVisible(false);
        campoNombreJornada.setText("");
        areaDescripcionJornada.setText("");
        toleranciaJL.setValue(0);
        campoHoraEntradaJL.setText("");
        campoHoraSalidaJL.setText("");
        mcj.removeAllElements();
        mcj.addElement(controladorJornada.incializarPantallaJornada());
        listaJornadas.setModel(mcj);
        listaJornadas.setSelectedItem(0);
    }//GEN-LAST:event_botonGuardarJornadaActionPerformed

    private void botonEditarJornadaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarJornadaActionPerformed
        if (!auxiliarJornada) {
            botonGuardarJornada.setEnabled(!auxiliarJornada);
            labelTituloJornadaLaboral.setText("Editar Jornada Laboral");
            labelNombrejornadaLaboral.setVisible(false);
            campoNombreJornada.setVisible(false);
            botonNuevaJornada.setVisible(false);
            botonEliminarJornada.setVisible(true);
            botonEliminarJornada.setEnabled(true);
            areaDescripcionJornada.setEditable(!auxiliarJornada);
            campoHoraEntradaJL.setEditable(!auxiliarJornada);
            campoHoraSalidaJL.setEditable(!auxiliarJornada);
            toleranciaJL.setEnabled(!auxiliarJornada);
        } else {
            botonGuardarJornada.setEnabled(false);
            botonNuevaJornada.setEnabled(true);
            labelTituloJornadaLaboral.setText("Consultar Jornada Laboral");
            mcj.removeAllElements();
            mcj.addElement(controladorJornada.incializarPantallaJornada());
            listaJornadas.setModel(mcj);
            listaJornadas.setSelectedItem(0);
        }
        auxiliarJornada = !auxiliarJornada;

    }//GEN-LAST:event_botonEditarJornadaActionPerformed

    private void listaPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaPerfilActionPerformed
        mclo.removeAllElements();
        mcpo.removeAllElements();
        if (listaPerfil.getSelectedItem() instanceof Perfil) {
            mclo.addElement(controladorOperaciones.incializarPantallaOperaciones());
            listaOperacionesAgregar.setModel(mclo);
            listaOperacionesAgregar.setSelectedIndex(0);
            per = (Perfil) listaPerfil.getSelectedItem();
            /////solo muestro los perfiles activos
            campoNombrePerfil.setText(per.getNombrePerfil());
            campoNombrePerfil.setEditable(auxiliarPerfil);
            areaDescripcionPerfil.setText(per.getDescripcionPerfil());
            areaDescripcionPerfil.setEditable(auxiliarPerfil);
            listaOperacionesActuales.setEnabled(auxiliarPerfil);
            botonEditarPerfil.setEnabled(true);
            botonEliminarPerfil.setEnabled(true);
            //////Llenar la lsita de operaciones
            po = (List<Perfil_Operacion>) per.getPerfil_operacionCollection();
            for (int i = 0; i < po.size(); i++) {
                System.out.println("Operaciones: " + po.get(i).getIdOperaciones().getNombreOperaciones());
                mcpo.addElement(po.get(i).getIdOperaciones());
            }
            listaOperacionesActuales.setModel(mcpo);
            listaOperacionesActuales.setSelectedIndex(0);
        } else {
            areaDescripcionPerfil.setText("");
        }
    }//GEN-LAST:event_listaPerfilActionPerformed

    private void botonEditarPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarPerfilActionPerformed
        if (!auxiliarPerfil) {
            mclo.removeAllElements();
            listaOperacionesActuales.setEnabled(!auxiliarPerfil);
            botonGuardarPerfil.setEnabled(!auxiliarPerfil);
            labelTituloPerfiles.setText("Editar Perfil");
            campoNombrePerfil.setVisible(false);
            labelNuevoPerfil.setVisible(false);
            areaDescripcionPerfil.setEditable(!auxiliarPerfil);
            labelOperacionesPerfil.setVisible(true);
            mclo.addElement(controladorOperaciones.incializarPantallaOperaciones());
            listaOperacionesAgregar.setModel(mclo);
            listaOperacionesAgregar.setSelectedIndex(0);
            // Como estoy EDITANDO oculto los botones de nuevo y eliminar. Si quiero eliminar o un nuevo perfil vuelvo del editar ya sea guardando o no
            botonAltaPerfil.setVisible(false);
            botonEliminarPerfil.setVisible(false);
            labelNuevoPerfil.setEnabled(true);
            labelNuevoPerfil.setVisible(false);
            campoNombrePerfil.setEnabled(true);
            campoNombrePerfil.setVisible(false);
        } else {
            System.out.println("Vuelvo del Editar Perfil");
            listaOperacionesActuales.setEnabled(false);
            areaDescripcionPerfil.setEditable(false);
            botonAltaPerfil.setVisible(true);
            botonEliminarPerfil.setVisible(true);
            botonGuardarPerfil.setEnabled(false);
            labelTituloPerfiles.setText("Consultar Perfiles");
        }
        auxiliarPerfil = !auxiliarPerfil;
    }//GEN-LAST:event_botonEditarPerfilActionPerformed
    private void botonGuardarPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarPerfilActionPerformed
        //Verifico que no exista un perfil con el mismo nombre//
        boolean busquedaPerfil = false, guardarPerfil = false;
        int contadorP = 0;
        List<Perfil> busquedaRepetidos;
        busquedaRepetidos = controladorPerfil.buscarPerfilNombre(campoNombrePerfil.getText());
        for (Perfil p1 : busquedaRepetidos) {
            if (p1.getVigentePerfil()) {
                busquedaPerfil = true;
            } else {
                busquedaPerfil = false;
            }
            contadorP++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorP++;
        }
        if (listaPerfil.getSelectedItem() instanceof Perfil) {
            Perfil c = (Perfil) listaPerfil.getSelectedItem();
            controladorPerfil.modificarPerfil(c, areaDescripcionPerfil.getText());
            List<Operaciones> lo = new ArrayList<Operaciones>();
            for (int i = 0; i < listaOperacionesActuales.getModel().getSize(); i++) {
                lo.add((Operaciones) listaOperacionesActuales.getModel().getElementAt(i));
            }
            per.setPerfil_operacionCollection(controladorPerfil.eliminarPerfilOperaciones(c, lo));
            guardarPerfil = true;
        } else {
            if (!busquedaPerfil && contadorP > 0) {
                per = controladorPerfil.nuevoPerfil(campoNombrePerfil.getText(), areaDescripcionPerfil.getText());
                List<Operaciones> lo = new ArrayList<Operaciones>();
                for (int i = 0; i < listaOperacionesActuales.getModel().getSize(); i++) {
                    lo.add((Operaciones) listaOperacionesActuales.getModel().getElementAt(i));
                }
                per.setPerfil_operacionCollection(controladorPerfil.nuevoPerfilOperacion(lo));
                guardarPerfil = true;
            }
            if (busquedaPerfil) {
                JOptionPane.showMessageDialog(null, "Ya existe un Perfil con el nombre: " + campoNombrePerfil.getText(), "Error al guardar!", 2);
                guardarPerfil = false;
            }
        }
        tabMouseClicked(null);
        if (guardarPerfil) {
            JOptionPane.showMessageDialog(null, "Perfil guardado con éxito", "Guardar Perfil: ", 1);
        }
        if (busquedaPerfil || guardarPerfil) {
            //es un elemento nuevo asi que vuelvo a la pantalla del consultar
            System.out.println("Vuelvo del Alta Perfil");
            listaOperacionesActuales.setEnabled(false);
            areaDescripcionPerfil.setEditable(false);
            botonAltaPerfil.setVisible(true);
            botonAltaPerfil.setEnabled(true);
            botonEliminarPerfil.setVisible(true);
            botonGuardarPerfil.setEnabled(false);
            labelNuevoPerfil.setVisible(false);
            campoNombrePerfil.setVisible(false);
            labelTituloPerfiles.setText("Consultar Perfiles");
            mclo.removeAllElements();
            mcpo.removeAllElements();
            mcc.removeAllElements();
            mcc.addElement(controladorPerfil.incializarPantallaPerfil());
            listaPerfil.setModel(mcc);
            listaPerfil.setSelectedItem(0);
            listaPerfil.setVisible(true);
            labelNombrePerfil.setVisible(true);

        }
        //es un elemento modificado
        campoNombrePerfil.setText("");
        areaDescripcionPerfil.setText("");
        mclo.removeAllElements();
        mcpo.removeAllElements();
        mcc.removeAllElements();
        mcc.addElement(controladorPerfil.incializarPantallaPerfil());
        listaPerfil.setModel(mcc);
        listaPerfil.setSelectedItem(0);

    }//GEN-LAST:event_botonGuardarPerfilActionPerformed

    private void listaNumeroEscanerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaNumeroEscanerActionPerformed
        botonEditarEscaner.setEnabled(true);
        botonEliminarEscaner.setEnabled(true);
        listaModelos.removeAllItems();
        listaMarcas.removeAllItems();
        listaTipoEscaner.removeAllItems();
        listaEscanerOficina.removeAllItems();
        if (listaNumeroEscaner.getSelectedItem() instanceof EscanerHuellas) {
            eh = (EscanerHuellas) listaNumeroEscaner.getSelectedItem();
            listaModelos.addItem(eh.getIdModelo().getNombreModelo());
            listaMarcas.addItem(eh.getIdModelo().getIdMarca().getNombreMarca());
            listaTipoEscaner.addItem(eh.getIdModelo().getIdTipoEscaner().getNombreTiposcanner());
            if (eh.getIdOficina().getVigente().equals(true)) {
                listaEscanerOficina.addItem(eh.getIdOficina().getNombreOficina());
            }
            modelo = eh.getIdModelo();
            escanerOficina = eh.getIdOficina();
            campoNuevoEscaner.setText(eh.getNroSerie().toString());
            if (auxiliarEscaner) {
                listaEscanerOficina.setEnabled(auxiliarEscaner);
                listaModelos.setEnabled(auxiliarEscaner);
                listaMarcas.setEnabled(auxiliarEscaner);
                listaTipoEscaner.setEnabled(auxiliarEscaner);
                botonGuardarEscaner.setEnabled(auxiliarEscaner);
            } else {
                campoNuevoEscaner.setEditable(true);
            }
        }
    }//GEN-LAST:event_listaNumeroEscanerActionPerformed

    private void botonEditarEscanerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarEscanerActionPerformed
        if (!auxiliarEscaner) {
            // Entra al if si elige modificar un escaner
            //Habilito botones y combos
            labelTituloEscaner.setText("Editar Escaner");
            listaNumeroEscaner.setVisible(!auxiliarEscaner);
            listaEscanerOficina.setEnabled(!auxiliarEscaner);
            botonGuardarEscaner.setEnabled(!auxiliarEscaner);
            botonAltaEscaner.setEnabled(false);
            botonEliminarEscaner.setEnabled(false);
            campoNuevoEscaner.setVisible(auxiliarEscaner);
            labelNumeroSerie.setVisible(!auxiliarEscaner);
            labelNumeroSerie2.setVisible(auxiliarEscaner);
            ///////Llenar todos los combos
            String listadoEO = listaEscanerOficina.getSelectedItem().toString();
            Modelos.ModeloComboOficina mcEscanerOficina = new Modelos.ModeloComboOficina();
            mcEscanerOficina.addElement(controladorOficina.inicializarPantallaOficina());
            listaEscanerOficina.removeAllItems();
            listaEscanerOficina.setModel(mcEscanerOficina);
            for (int i = 0; i < listaEscanerOficina.getItemCount(); i++) {
                if (listadoEO.equalsIgnoreCase(listaEscanerOficina.getItemAt(i).toString())) {
                    listaEscanerOficina.setSelectedIndex(i);
                }
            }
            String listadoMarcas = listaMarcas.getSelectedItem().toString();
            Modelos.ModeloComboMarca mcMarca = new ModeloComboMarca();
            mcMarca.addElement(controladorMarca.buscarMarcas());
            listaMarcas.removeAllItems();
            listaMarcas.setModel(mcMarca);
            for (int i = 0; i < listaMarcas.getItemCount(); i++) {
                if (listadoMarcas.equalsIgnoreCase(listaMarcas.getItemAt(i).toString())) {
                    listaMarcas.setSelectedIndex(i);
                }
            }
        } else {
            labelTituloEscaner.setText("Consultar Escaner");
            botonAltaEscaner.setEnabled(false);
            botonEliminarEscaner.setEnabled(false);
            botonEditarEscaner.setEnabled(false);
            botonGuardarEscaner.setEnabled(!auxiliarEscaner);
            campoNuevoEscaner.setVisible(!auxiliarEscaner);
            labelNumeroSerie2.setVisible(!auxiliarEscaner);
            System.out.println("Volvi del editar");
            mce.removeAllElements();
            mce.addElement(controladorEscaner.incializarPantallaEscaner());
            listaNumeroEscaner.setModel(mce);
        }
        auxiliarEscaner = !auxiliarEscaner;
    }//GEN-LAST:event_botonEditarEscanerActionPerformed

    private void listaOficinasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaOficinasActionPerformed
        listaDistritos.removeAllItems();
        listaDepartamentos.removeAllItems();
        listaProvincia.removeAllItems();
        listaPaises.removeAllItems();
        labelNombreOficinaACrear.setVisible(false);
        campoNombreOficinas.setVisible(false);
        if (listaOficinas.getSelectedItem() instanceof Oficina) {
            o = (Oficina) listaOficinas.getSelectedItem();
            //Solo muestro las oficinas que no tienen fecha de baja
            botonEditarOficina.setEnabled(true);
            botonNuevaOficina.setEnabled(true);
            botonEliminarOficina.setEnabled(true);
            campoNombreOficinas.setText(o.getNombreOficina());
            campoNumeroOficinas.setText(o.getNumeroOficina().toString());
            campoBarrioOficina.setText(o.getIdDomicilio().getBarrio());
            campoCalleOficina.setText(o.getIdDomicilio().getCalle());
            campoPisoOficina.setText(o.getIdDomicilio().getPiso());
            campoNumeroCalleOficina.setText(o.getIdDomicilio().getNroCalle().toString());
            campoDpto.setText(o.getIdDomicilio().getNroDpto());
            //Lleno combos y los habilito
            listaDistritos.addItem(o.getIdDomicilio().getIdDistrito().getNombreDistrito());
            listaDepartamentos.addItem(o.getIdDomicilio().getIdDistrito().getIdDepartamento().getNombreDepartamento());
            listaProvincia.addItem(o.getIdDomicilio().getIdDistrito().getIdDepartamento().getIdProvincia().getNombreProvincia());
            listaPaises.addItem(o.getIdDomicilio().getIdDistrito().getIdDepartamento().getIdProvincia().getIdPais().getNombrePais());
            if (auxiliarOficina) {
                listaPaises.setEnabled(auxiliarOficina);
                listaProvincia.setEnabled(auxiliarOficina);
                listaDepartamentos.setEnabled(auxiliarOficina);
                listaDistritos.setEnabled(auxiliarOficina);
                campoNumeroOficinas.setEditable(auxiliarOficina);

                campoBarrioOficina.setEditable(auxiliarOficina);
                campoCalleOficina.setEditable(auxiliarOficina);
                campoPisoOficina.setEditable(auxiliarOficina);
                campoNumeroCalleOficina.setEditable(auxiliarOficina);
                campoDpto.setEditable(auxiliarOficina);
            }
        } else {
            campoNumeroOficinas.setText("");
            campoNombreOficinas.setText("");
            campoBarrioOficina.setText("");
            campoCalleOficina.setText("");
            campoNumeroCalleOficina.setText("");
            campoPisoOficina.setText("");
            campoDpto.setText("");
            campoNumeroOficinas.setEditable(true);
            campoNombreOficinas.setEnabled(true);
            campoNombreOficinas.setEditable(true);
            campoBarrioOficina.setEditable(true);
            campoCalleOficina.setEditable(true);
            campoPisoOficina.setEditable(true);
            campoNumeroCalleOficina.setEditable(true);
            campoDpto.setEditable(true);
        }
    }//GEN-LAST:event_listaOficinasActionPerformed
    private void listaPaisesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaPaisesActionPerformed
        if (listaPaises.getSelectedItem() instanceof Pais) {
            Pais pais = (Pais) listaPaises.getSelectedItem();
            Modelos.ModeloComboProvincia mcprovincia = new Modelos.ModeloComboProvincia();
            mcprovincia.addElement(pais.getProvinciaLista());
            listaProvincia.setModel(mcprovincia);
            listaProvincia.setSelectedItem(0);
            botonGuardarOficinas.setEnabled(true);
        }
    }//GEN-LAST:event_listaPaisesActionPerformed
    private void botonEditarOficinaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarOficinaActionPerformed
        if (!auxiliarOficina) {
            labelTituloOficinas.setText("Editar Oficina");
            //Habilito botones y combos
            listaOficinas.setVisible(false);
            campoNumeroOficinas.setEditable(true);
            campoNumeroOficinas.setEnabled(!auxiliarOficina);
            campoNombreOficinas.setVisible(!auxiliarOficina);
            campoNombreOficinas.setEnabled(!auxiliarOficina);
            campoNombreOficinas.setEditable(!auxiliarOficina);
            botonGuardarOficinas.setEnabled(!auxiliarOficina);
            botonNuevaOficina.setVisible(false);
            botonEliminarOficina.setVisible(false);
            labelNombreOficina.setVisible(false);
            labelNombreOficinaACrear.setVisible(!auxiliarOficina);
            labelNombreOficinaACrear.setEnabled(!auxiliarOficina);
            campoBarrioOficina.setEnabled(!auxiliarOficina);
            campoBarrioOficina.setEditable(!auxiliarOficina);
            campoCalleOficina.setEnabled(!auxiliarOficina);
            campoCalleOficina.setEditable(!auxiliarOficina);
            campoNumeroCalleOficina.setEnabled(!auxiliarOficina);
            campoNumeroCalleOficina.setEditable(!auxiliarOficina);
            campoPisoOficina.setEnabled(!auxiliarOficina);
            campoPisoOficina.setEditable(!auxiliarOficina);
            campoDpto.setEnabled(!auxiliarOficina);
            campoDpto.setEditable(!auxiliarOficina);
            listaPaises.setEnabled(!auxiliarOficina);
            listaProvincia.setEnabled(!auxiliarOficina);
            listaDepartamentos.setEnabled(!auxiliarOficina);
            listaDistritos.setEnabled(!auxiliarOficina);
            Modelos.ModeloComboPais mcpais = new Modelos.ModeloComboPais();
            mcpais.addElement(controladorPais.buscarPaises());
            listaPaises.setModel(mcpais);
            listaPaises.setSelectedItem(1);
            //cosa
        } else {
            labelTituloOficinas.setText("Consultar Oficina");
            botonGuardarOficinas.setEnabled(false);
            botonNuevaOficina.setEnabled(true);
            botonNuevaOficina.setVisible(true);
            botonEliminarOficina.setEnabled(true);
            botonEliminarOficina.setVisible(true);
            botonEditarOficina.setEnabled(false);
            campoNumeroOficinas.setEnabled(!auxiliarOficina);
            campoNombreOficinas.setVisible(!auxiliarOficina);
            campoNombreOficinas.setEnabled(!auxiliarOficina);
            labelNombreOficina.setVisible(true);
            labelNombreOficina.setEnabled(true);
            listaOficinas.setVisible(true);
            labelNombreOficinaACrear.setVisible(!auxiliarOficina);
            campoBarrioOficina.setEnabled(!auxiliarOficina);
            campoCalleOficina.setEnabled(!auxiliarOficina);
            campoNumeroCalleOficina.setEnabled(!auxiliarOficina);
            campoPisoOficina.setEnabled(!auxiliarOficina);
            campoDpto.setEnabled(!auxiliarOficina);
            //Limpio pantalla
            campoNombreOficinas.setText("");
            campoNumeroOficinas.setText("");
            campoBarrioOficina.setText("");
            campoCalleOficina.setText("");
            campoPisoOficina.setText("");
            campoNumeroCalleOficina.setText("");
            campoDpto.setText("");
            listaPaises.removeAllItems();
            listaProvincia.removeAllItems();
            listaDepartamentos.removeAllItems();
            listaDistritos.removeAllItems();
            mco.removeAllElements();
            mco.addElement(controladorOficina.inicializarPantallaOficina());
            listaOficinas.setModel(mco);
            listaOficinas.setSelectedItem(0);
        }
        auxiliarOficina = !auxiliarOficina;
    }//GEN-LAST:event_botonEditarOficinaActionPerformed

    private void listaProvinciaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaProvinciaActionPerformed
        listaProvincia.setEnabled(true);
        if (listaProvincia.getSelectedItem() instanceof Provincia) {
            Provincia provincia = (Provincia) listaProvincia.getSelectedItem();
            Modelos.ModeloComboDepartamento mcdepartamento = new Modelos.ModeloComboDepartamento();
            mcdepartamento.addElement(provincia.getDepartamentoLista());
            listaDepartamentos.setModel(mcdepartamento);
            listaDepartamentos.setSelectedItem(0);
        }
    }//GEN-LAST:event_listaProvinciaActionPerformed

    private void listaDepartamentosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaDepartamentosActionPerformed
        if (listaDepartamentos.getSelectedItem() instanceof Departamento) {
            Departamento departamento = (Departamento) listaDepartamentos.getSelectedItem();
            Modelos.ModeloComboDistrito mcdistrito = new Modelos.ModeloComboDistrito();
            mcdistrito.addElement(departamento.getDistritoLista());
            listaDistritos.setModel(mcdistrito);
            listaDistritos.setSelectedItem(0);
        }
    }//GEN-LAST:event_listaDepartamentosActionPerformed

    private void botonGuardarOficinasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarOficinasActionPerformed
        //Verifico que no exista una oficina con el mismo nombre o numero//
        boolean busquedaOficinaNombre = false, guardarOficina = false;
        int contadorO = 0;
        List<Oficina> busquedaRepetidos;
        busquedaRepetidos = controladorOficina.buscarOficinaNombre(campoNombreOficinas.getText());
        Date fechaactualOficina = new Date();
        Date fechabajaOficina = ConvertirFechas.stringAFecha(cadena);
        for (Oficina o1 : busquedaRepetidos) {
            if (o1.getVigente()) {
                busquedaOficinaNombre = true;
            } else {
                busquedaOficinaNombre = false;
            }
            contadorO++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorO++;
        }
        if (listaOficinas.getSelectedItem() instanceof Oficina) {
            controladorOficina.modificarOficina(o, campoNombreOficinas.getText(), Integer.valueOf(campoNumeroOficinas.getText()),
                    o.getIdDomicilio().getIdDistrito(), campoBarrioOficina.getText(), campoCalleOficina.getText(), campoNumeroCalleOficina.getText(),
                    campoPisoOficina.getText(), campoDpto.getText(), fechaactualOficina, fechabajaOficina);
            busquedaOficinaNombre = false;
            guardarOficina = true;
        } else {
            if (!busquedaOficinaNombre && contadorO > 0) {
                domicilio = controladorOficina.nuevoDomicilio((Distrito) listaDistritos.getSelectedItem(), campoBarrioOficina.getText(),
                        campoCalleOficina.getText(), campoNumeroCalleOficina.getText(), campoPisoOficina.getText(), campoDpto.getText());
                o = controladorOficina.nuevaOficina(domicilio, campoNombreOficinas.getText(), Integer.valueOf(campoNumeroOficinas.getText()), fechaactualOficina, fechabajaOficina);
                guardarOficina = true;
            }
        }
        if (busquedaOficinaNombre) {
            JOptionPane.showMessageDialog(null, "Ya existe una Oficina con el nombre: " + campoNombreOficinas.getText(), "Error al guardar!", 2);
            guardarOficina = false;
        }
        tabMouseClicked(null);
        if (guardarOficina) {
            JOptionPane.showMessageDialog(null, "Oficina guardada con éxito", "Guardar Oficina: ", 1);
        }
        if (busquedaOficinaNombre || guardarOficina) {
            botonGuardarOficinas.setEnabled(false);
            botonEliminarOficina.setEnabled(false);
            botonEliminarOficina.setVisible(true);
            botonEditarOficina.setEnabled(false);
            botonNuevaOficina.setEnabled(true);
            botonNuevaOficina.setVisible(true);
            campoNombreOficinas.setVisible(false);
            mco.removeAllElements();
            mco.addElement(controladorOficina.inicializarPantallaOficina());
            listaOficinas.setModel(mco);
            listaOficinas.setSelectedItem(0);
            listaOficinas.setVisible(true);
            ///Limpio combos y campos
            campoNombreOficinas.setText("");
            campoNumeroOficinas.setText("");
            campoBarrioOficina.setText("");
            campoCalleOficina.setText("");
            campoPisoOficina.setText("");
            campoNumeroCalleOficina.setText("");
            campoDpto.setText("");
            listaPaises.removeAllItems();
            listaProvincia.removeAllItems();
            listaDepartamentos.removeAllItems();
            listaDistritos.removeAllItems();
            //Habilito botones y combos
            campoNombreOficinas.setVisible(false);
            labelNombreOficina.setVisible(true);
            labelNombreOficinaACrear.setVisible(false);
            campoNumeroOficinas.setEnabled(auxiliarOficina);
            campoNumeroOficinas.setEditable(auxiliarOficina);
            campoBarrioOficina.setEnabled(auxiliarOficina);
            campoBarrioOficina.setEditable(auxiliarOficina);
            campoCalleOficina.setEnabled(auxiliarOficina);
            campoCalleOficina.setEditable(auxiliarOficina);
            campoNumeroCalleOficina.setEnabled(auxiliarOficina);
            campoNumeroCalleOficina.setEditable(auxiliarOficina);
            campoPisoOficina.setEnabled(auxiliarOficina);
            campoPisoOficina.setEditable(auxiliarOficina);
            campoDpto.setEnabled(auxiliarOficina);
            campoDpto.setEditable(auxiliarOficina);
            listaPaises.setEnabled(true);
            listaProvincia.setEnabled(true);
            listaDepartamentos.setEnabled(true);
            listaDistritos.setEnabled(true);
            Modelos.ModeloComboPais mcpais = new Modelos.ModeloComboPais();
            mcpais.addElement(controladorPais.buscarPaises());
            listaPaises.setModel(mcpais);
            listaPaises.setSelectedItem(0);
            labelTituloOficinas.setText("Consultar Oficinas");
        } else {
            //Es un elemento modificado
            campoNombreOficinas.setText("");
            campoNumeroOficinas.setText("");
            campoBarrioOficina.setText("");
            campoCalleOficina.setText("");
            campoPisoOficina.setText("");
            campoNumeroCalleOficina.setText("");
            campoDpto.setText("");
            listaPaises.removeAllItems();
            listaProvincia.removeAllItems();
            listaDepartamentos.removeAllItems();
            listaDistritos.removeAllItems();
            mco.removeAllElements();
            mco.addElement(controladorOficina.inicializarPantallaOficina());
            listaOficinas.setModel(mco);
            listaOficinas.setSelectedItem(0);
        }
    }//GEN-LAST:event_botonGuardarOficinasActionPerformed

    private void botonGuardarEscanerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarEscanerActionPerformed
        Date fechaactualEscaner = new Date();
        Date fechabajaEscaner = ConvertirFechas.stringAFecha(cadena);
        //Verifico que no exista un escaner con el mismo numero de serie//
        boolean busquedaEscaner = false, guardarEscaner = false;
        int contadorO = 0;
        List<EscanerHuellas> busquedaRepetidos;
        busquedaRepetidos = controladorEscaner.buscarEscanerNumero(campoNuevoEscaner.getText());
        for (EscanerHuellas e1 : busquedaRepetidos) {
            if (e1.getVigente()) {
                busquedaEscaner = true;
            } else {
                busquedaEscaner = false;
            }
            contadorO++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorO++;
        }
        //Si entro al IF es por que estoy modificando un escaner
        if (listaNumeroEscaner.getSelectedItem() instanceof EscanerHuellas) {
            controladorEscaner.modificarEscaner(eh, Integer.valueOf(campoNuevoEscaner.getText()), (Oficina) listaEscanerOficina.getSelectedItem(), modelo, fechaactualEscaner, fechabajaEscaner);
            busquedaEscaner = false;
            guardarEscaner = true;
        } else {
            if (!busquedaEscaner && contadorO > 0) {
                escanerOficina = (Oficina) listaEscanerOficina.getSelectedItem();
                controladorEscaner.nuevoEscaner(Integer.valueOf(campoNuevoEscaner.getText()), escanerOficina, modelo, fechaactualEscaner, fechabajaEscaner);
                eh.setIdOficina(escanerOficina);
                guardarEscaner = true;
            }
        }
        if (busquedaEscaner) {
            JOptionPane.showMessageDialog(null, "Ya existe un Escaner con el mismo numero de serie: " + campoNuevoEscaner.getText(), "Error al guardar!", 2);
        }
        tabMouseClicked(null);
        if (guardarEscaner) {
            JOptionPane.showMessageDialog(null, "Escaner guardado con éxito", "Guardar Escaner: ", 1);
        }
        if (busquedaEscaner || guardarEscaner) {
            botonGuardarEscaner.setEnabled(false);
            botonEliminarEscaner.setEnabled(false);
            botonEditarEscaner.setEnabled(false);
            botonAltaEscaner.setEnabled(true);
            listaNumeroEscaner.setVisible(true);
            labelNumeroSerie.setVisible(true);
            campoNuevoEscaner.setVisible(false);
            labelNumeroSerie2.setVisible(false);
            mce.removeAllElements();
            mce.addElement(controladorEscaner.incializarPantallaEscaner());
            listaNumeroEscaner.setModel(mce);
            listaNumeroEscaner.setSelectedItem(0);
            labelTituloEscaner.setText("Consultar Escaner");
        } else {
            botonGuardarEscaner.setEnabled(true);
            botonEditarEscaner.setEnabled(false);
            botonEliminarEscaner.setEnabled(false);
            campoNuevoEscaner.setVisible(true);
            campoNuevoEscaner.setEditable(true);
            campoNuevoEscaner.setText("");
            labelNumeroSerie2.setVisible(true);
            listaNumeroEscaner.setVisible(false);
            labelNumeroSerie.setVisible(false);
            botonAltaEscaner.setEnabled(false);
            mce.removeAllElements();
            mce.addElement(controladorEscaner.incializarPantallaEscaner());
            listaNumeroEscaner.setModel(mce);
            listaNumeroEscaner.setSelectedItem(0);
        }
    }//GEN-LAST:event_botonGuardarEscanerActionPerformed

    private void listaMarcasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaMarcasActionPerformed
        if (listaMarcas.getSelectedItem() instanceof Marca) {
            marca = (Marca) listaMarcas.getSelectedItem();
            Modelos.ModeloComboModelo mcmodelo = new Modelos.ModeloComboModelo();
            mcmodelo.addElement(marca.getModeloLista());
            listaModelos.setModel(mcmodelo);
            listaModelos.setSelectedItem(0);
            botonGuardarEscaner.setEnabled(true);
            listaModelos.setEnabled(true);
        }
    }//GEN-LAST:event_listaMarcasActionPerformed

    private void listaModelosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaModelosActionPerformed
        if (listaModelos.getSelectedItem() instanceof Modelo) {
            modelo = (Modelo) listaModelos.getSelectedItem();
            Modelos.ModeloComboTipoEscaner mcte = new Modelos.ModeloComboTipoEscaner();
            mcte.addElement(modelo.getIdTipoEscaner());
            listaTipoEscaner.setModel(mcte);
            listaTipoEscaner.setSelectedItem(0);
            listaTipoEscaner.setEnabled(true);
        }
    }//GEN-LAST:event_listaModelosActionPerformed

    private void listaInformesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaInformesActionPerformed
        indiceInformes = listaInformes.getSelectedIndex();
        listaInformeEmpleado.removeAllItems();
        listaInformeOficina.removeAllItems();
        if (indiceInformes == 1) { //Es igual a Personal presentismo y tardanzas
            listaInformeEmpleado.setEnabled(true);
            listaInformeOficina.setEnabled(false);
            listaInformeEmpleado.addItem(usuariolicencia.getIdEmpleado());
            botonGenerarReporte.setEnabled(true);
            dateInformeDesde.setEnabled(true);
            dateInformeHasta.setEnabled(true);
        }
        if (indiceInformes == 2) { ///// Licencia personal
            listaInformeEmpleado.setEnabled(true);
            listaInformeOficina.setEnabled(false);
            listaInformeEmpleado.addItem(usuariolicencia.getIdEmpleado());
            botonGenerarReporte.setEnabled(true);
            dateInformeDesde.setEnabled(true);
            dateInformeHasta.setEnabled(true);
        }
        if (indiceInformes == 3) { ///// Presentismo simple
            listaInformeEmpleado.setEnabled(true);
            listaInformeOficina.setEnabled(false);
            if (perfilausar.equalsIgnoreCase("Empleado") || perfilausar.equalsIgnoreCase("Oficial Público")) {
                listaInformeEmpleado.addItem(usuariolicencia.getIdEmpleado());
            } else {
                empleInforme = controladorEmpleado.inicializarPantallaEmpleado();
                for (Empleado empleado1 : empleInforme) {
                    listaInformeEmpleado.addItem(empleado1);
                }
                perfilausar = "";
            }
            botonGenerarReporte.setEnabled(true);
            dateInformeDesde.setEnabled(true);
            dateInformeHasta.setEnabled(true);
        }
        if (indiceInformes == 4) { ///// Presentismo por oficina
            listaInformeEmpleado.setEnabled(false);
            listaInformeOficina.setEnabled(true);
            listaInformeOficina.addItem(usuariolicencia.getIdEmpleado().getIdOficina());
            botonGenerarReporte.setEnabled(true);
            dateInformeDesde.setEnabled(true);
            dateInformeHasta.setEnabled(true);
        }
        if (indiceInformes == 5) { ///// Es igual a presentismo por oficinas
            listaInformeEmpleado.setEnabled(false);
            listaInformeOficina.setEnabled(true);
            Modelos.ModeloComboOficina mcio = new Modelos.ModeloComboOficina();
            mcio.addElement(controladorOficina.inicializarPantallaOficina());
            listaInformeOficina.setModel(mcio);
            listaInformeOficina.setSelectedItem(0);
            botonGenerarReporte.setEnabled(true);
            dateInformeDesde.setEnabled(true);
            dateInformeHasta.setEnabled(true);
        }
        if (indiceInformes == 6) { ///// Es igual a licencias por oficinas
            listaInformeEmpleado.setEnabled(false);
            listaInformeOficina.setEnabled(true);
            Modelos.ModeloComboOficina mcio = new Modelos.ModeloComboOficina();
            mcio.addElement(controladorOficina.inicializarPantallaOficina());
            listaInformeOficina.setModel(mcio);
            listaInformeOficina.setSelectedItem(0);
            botonGenerarReporte.setEnabled(true);
            dateInformeDesde.setEnabled(true);
            dateInformeHasta.setEnabled(true);
        }
    }//GEN-LAST:event_listaInformesActionPerformed

    private void botonGenerarReporteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGenerarReporteActionPerformed
        String nombrearchivo = "";
        SimpleDateFormat formatoDelTexto = new SimpleDateFormat("yyyy-MM-dd");
        dateInformeDesde.setDateFormat(formatoDelTexto);
        dateInformeHasta.setDateFormat(formatoDelTexto);
        Date dateinicio = null, datefin = null;
        try {
            dateinicio = formatoDelTexto.parse(dateInformeDesde.getText());
            datefin = formatoDelTexto.parse(dateInformeHasta.getText());
        } catch (ParseException ex) {
            System.out.println("Excepcion en la conversion de fechas");
            ex.toString();
        }
        if (datefin.before(dateinicio)) {
            JOptionPane.showMessageDialog(null, "La fecha final debe ser mayor a la inicial", "Atencion!!!", 1);
        } else {
            if (listaInformeOficina.getSelectedIndex() == 0 && (indiceInformes != 4) && (indiceInformes != 5) && (indiceInformes != 6)) {
                JOptionPane.showMessageDialog(null, "Debe seleccionar una oficina", "Atencion!!!", 1);
            } else {
                //////////////*¡¡¡ REVISAR LOS CASE DE OFICINASSSS !!!!*//////////////
                switch (indiceInformes) {
                    case 1:
                        controladorInforme.armarInformeEmpleado(dateinicio, datefin, nombrearchivo, emple);
                        ///////Mostrar cartel de exito
                        JOptionPane.showMessageDialog(null, "Reporte generado con éxito", "Informe Personal de presentismo y tardanzas: " + emple.getApellido() + " " + emple.getNombre(), 1);
                        break;
                    case 2:
                        controladorInforme.armarInformeLicenciasPersonal(dateinicio, datefin, nombrearchivo, emple);
                        ///////Mostrar cartel de exito
                        JOptionPane.showMessageDialog(null, "Reporte generado con éxito", "Informe Personal de Licencias", 1);
                        break;
                    case 3:
                        controladorInforme.armarPresentismoSimple(dateinicio, datefin, nombrearchivo, emple);
                        ///////Mostrar cartel de exito
                        JOptionPane.showMessageDialog(null, "Reporte generado con éxito", "Informe de Presentismo personal simple: " + emple.getApellido() + " " + emple.getNombre(), 1);
                        break;
                    case 4:
                        controladorInforme.armarInformeOficina(dateinicio, datefin, nombrearchivo, ofi);
                        ///////Mostrar cartel de exito
                        JOptionPane.showMessageDialog(null, "Reporte generado con éxito", "Informe Presentismo Oficina: " + ofi.getNombreOficina(), 1);
                        break;
                    case 5:
                        controladorInforme.armarInformeOficinas(dateinicio, datefin, nombrearchivo, ofi);
                        ///////Mostrar cartel de exito
                        JOptionPane.showMessageDialog(null, "Reporte generado con éxito", "Informe de Presentismo por Oficinas", 1);
                        break;
                    case 6:
                        controladorInforme.armarInformeLicenciasOficinas(dateinicio, datefin, nombrearchivo, ofi);
                        ///////Mostrar cartel de exito
                        JOptionPane.showMessageDialog(null, "Reporte generado con éxito", "Informe de Licencias por Oficinas", 1);
                        break;
                }
            }
        }
    }//GEN-LAST:event_botonGenerarReporteActionPerformed

    private void listaOperacionesActualesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listaOperacionesActualesMouseClicked
        if (evt.getClickCount() >= 2) {
            int index = listaOperacionesActuales.getSelectedIndex();
            mcpo.remove(index);
            listaOperacionesActuales.setModel(mcpo);
            listaOperacionesActuales.setSelectedIndex(0);
        }
    }//GEN-LAST:event_listaOperacionesActualesMouseClicked

    private void listaOperacionesAgregarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listaOperacionesAgregarMouseClicked
        if (evt.getClickCount() >= 2) {
            Operaciones opera = (Operaciones) listaOperacionesAgregar.getSelectedValue();
            boolean iguales = false;
            for (int i = 0; i < mcpo.size(); i++) {
                if ((mcpo.getElementAt(i)).equals(opera)) {
                    iguales = true;
                    break;
                }
            }
            if (!iguales) {
                mcpo.addElement(opera);
                listaOperacionesActuales.setModel(mcpo);
                listaOperacionesActuales.setSelectedIndex(0);
            } else {
                System.out.println("son iguales");
            }
        }
    }//GEN-LAST:event_listaOperacionesAgregarMouseClicked

    private void listaInformeEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaInformeEmpleadoActionPerformed
        if (listaInformeEmpleado.getSelectedItem() instanceof Empleado) {
            emple = (Empleado) listaInformeEmpleado.getSelectedItem();
        }
    }//GEN-LAST:event_listaInformeEmpleadoActionPerformed

    private void listaInformeOficinaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaInformeOficinaActionPerformed
        if (listaInformeOficina.getSelectedItem() instanceof Oficina) {
            ofi = (Oficina) listaInformeOficina.getSelectedItem();
        }
    }//GEN-LAST:event_listaInformeOficinaActionPerformed

    private void panelFeriadosOnSelectionChange(datechooser.events.SelectionChangedEvent evt) {//GEN-FIRST:event_panelFeriadosOnSelectionChange
        botonGuardarFeriados.setEnabled(true);
        vigenteFeriado.setEnabled(true);

    }//GEN-LAST:event_panelFeriadosOnSelectionChange

    private void botonGuardarFeriadosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarFeriadosActionPerformed
        boolean guardarFeriado;
        if (panelFeriados.isEnabled()) {
            try {
                Calendar fechaseleccionada = panelFeriados.getSelectedDate();
                fechaferiado = fechaseleccionada.getTime();
                System.out.println("Fecha feriado: " + fechaferiado);
                controladorFeriados.nuevoFeriado(fechaferiado, vigenteFeriado.isSelected(), areaObservacionesFeriados.getText());
                guardarFeriado = true;
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(null, "La fecha ingresada ya existe!!", "Error", 0);
                guardarFeriado = false;
            }
            mcf.removeAllElements();
            mcf.addElement(controladorFeriados.buscarFeriadosVigentes());
            listaFeriados.setModel(mcf);
            listaFeriados.setSelectedIndex(0);
            areaObservacionesFeriados.setText("");
            panelFeriados.setEnabled(false);
        } // Feriado a modificar
        else {
            fechaferiado = feria.getFechaFA();
            controladorFeriados.modificarFeriado(feria, fechaferiado, vigenteFeriado.isSelected(), areaObservacionesFeriados.getText());
            mcf.removeAllElements();
            mcf.addElement(controladorFeriados.buscarFeriadosVigentes());
            listaFeriados.setModel(mcf);
            listaFeriados.setSelectedIndex(0);
            areaObservacionesFeriados.setText("");
            guardarFeriado = true;
        }
        if (guardarFeriado) {
            JOptionPane.showMessageDialog(null, "Feriado: " + ConvertirFechas.fechaFormateada(fechaferiado) + " guardado con éxito", "Guardar Feriado: ", 1);
        }
        mcf.removeAllElements();
        mcf.addElement(controladorFeriados.buscarFeriadosVigentes());
        listaFeriados.setModel(mcf);
        listaFeriados.setSelectedIndex(0);
    }//GEN-LAST:event_botonGuardarFeriadosActionPerformed

    private void listaFeriadosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listaFeriadosMouseClicked
        feria = (FeriadoAsueto) listaFeriados.getSelectedValue();
        vigenteFeriado.setEnabled(true);
        vigenteFeriado.setSelected(feria.getferiado());
        areaObservacionesFeriados.setText(feria.getObservacionesFA());
        botonGuardarFeriados.setEnabled(true);
        panelFeriados.setEnabled(false);
        // TODO add your handling code here:
    }//GEN-LAST:event_listaFeriadosMouseClicked

    private void botonNuevoFeriadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonNuevoFeriadoActionPerformed
        panelFeriados.setEnabled(true);
        areaObservacionesFeriados.setText("");
        vigenteFeriado.setSelected(true);
        // TODO add your handling code here:
    }//GEN-LAST:event_botonNuevoFeriadoActionPerformed

    private void listaUsuariosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaUsuariosActionPerformed
        mcpd.removeAllElements();
        if (listaUsuarios.getSelectedItem() instanceof Usuario) {
            usuario = (Usuario) listaUsuarios.getSelectedItem();
            botonEditarUsuario.setEnabled(true);
            botonEliminarUsuario.setEnabled(true);
            mcpu.removeAllElements();
            campoPassword.setText("");
            campoUsuario.setText("");
            campoUsuarioEmpleado.setText("");
            if (usuario != null) {
                System.out.println("Soy el usuario: " + usuario.getNombreUsuario());
                campoUsuario.setText(usuario.getNombreUsuario());
                campoUsuario.setEditable(false);
                campoPassword.setText(usuario.getContrasenaActual());
                campoPassword.setEditable(false);
                campoUsuarioEmpleado.setVisible(true);
                campoUsuarioEmpleado.setEditable(false);
                labelUsuarioEmpleado.setVisible(true);
                campoUsuarioEmpleado.setText(usuario.getIdEmpleado().getApellido() + ", " + usuario.getIdEmpleado().getNombre());
                usuarioperfil = (List<UsuarioPerfil>) usuario.getUsuarioPerfilLista();
                for (UsuarioPerfil usuarioPerfil : usuarioperfil) {
                    List<Perfil> perfilu;
                    perfilu = (List<Perfil>) controladorPerfil.buscarPerfil_ID(usuarioPerfil.getIdPerfil().getIdPerfil());
                    mcpu.addElement(perfilu);
                    listaPerfilesAsignados.setModel(mcpu);
                }
            }
        }
    }//GEN-LAST:event_listaUsuariosActionPerformed

    private void botonEditarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarUsuarioActionPerformed
        if (!auxiliarUsuario) {
            labelTituloUsuarios.setText("Editar usuario");
            labelPerfilDisponibles.setVisible(true);
            listaPerfilesDisponibles.setVisible(true);
            mcpd.removeAllElements();
            perfilesdispo = (List<Perfil>) controladorPerfil.incializarPantallaPerfil();
            mcpd.addElement(perfilesdispo);
            listaPerfilesDisponibles.setModel(mcpd);
            campoPassword.setEditable(true);
            campoUsuario.setEditable(true);
            botonGuardarUsuario.setEnabled(true);
            botonEliminarUsuario.setEnabled(false);
            botonNuevoUsuario.setEnabled(false);
        } else {
            mcpd.removeAllElements();
            labelTituloUsuarios.setText("Consultar usuarios");
            botonGuardarUsuario.setEnabled(false);
            campoPassword.setEditable(false);
            campoUsuario.setEditable(false);
            campoUsuario.setVisible(false);
            labelUsuario.setVisible(false);
            campoUsuarioEmpleado.setVisible(false);
            labelUsuarioEmpleado.setVisible(false);
            campoPassword.setSize(12, 200);
            botonGuardarUsuario.setEnabled(false);
            botonEditarUsuario.setEnabled(false);
            botonEliminarUsuario.setEnabled(false);
            botonNuevoUsuario.setEnabled(true);
            listaUsuariosEmpleados.setVisible(false);
            labelUsuarioEmpleados.setVisible(false);
            mcusuario.removeAllElements();
            mcusuario.addElement(controladorUsuario.inicializarPantallaUsuario());
            listaUsuarios.setModel(mcusuario);
            listaUsuarios.setSelectedItem(0);
        }
        auxiliarUsuario = !auxiliarUsuario;
    }//GEN-LAST:event_botonEditarUsuarioActionPerformed
    private void listaPerfilesAsignadosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listaPerfilesAsignadosMouseClicked
        if (evt.getClickCount() >= 2) {
            System.out.println("Hizo doble clic");
            int index = listaPerfilesAsignados.getSelectedIndex();
            mcpu.remove(index);
            listaPerfilesAsignados.setModel(mcpu);
            listaPerfilesAsignados.setSelectedIndex(0);
        }
    }//GEN-LAST:event_listaPerfilesAsignadosMouseClicked

    private void listaPerfilesDisponiblesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listaPerfilesDisponiblesMouseClicked
        if (evt.getClickCount() >= 2) {
            System.out.println("Hizo doble clic");
            Perfil perfildisponibles = (Perfil) listaPerfilesDisponibles.getSelectedValue();
            boolean igual = false;
            for (int i = 0; i < mcpu.size(); i++) {
                if ((mcpu.getElementAt(i).equals(perfildisponibles))) {
                    igual = true;
                    break;
                }
            }
            if (!igual) {
                System.out.println("son distintos");
                mcpu.addElement(perfildisponibles);
                listaPerfilesAsignados.setModel(mcpu);
                listaPerfilesAsignados.setSelectedIndex(0);
            } else {
                System.out.println("son iguales");
            }
        }
    }//GEN-LAST:event_listaPerfilesDisponiblesMouseClicked

    private void botonGuardarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarUsuarioActionPerformed
        boolean busquedaUsuario = false, guardarUsuario = false, cambioClave = true;
        int contadorU = 0;
        List<Usuario> busquedaRepetidos;
        busquedaRepetidos = (List<Usuario>) controladorUsuario.buscarUsuarioNombre(campoUsuario.getText());
        for (Usuario u1 : busquedaRepetidos) {
            if (u1.getUsuarioActivo()) {
                busquedaUsuario = true;
            } else {
                busquedaUsuario = false;
            }
            contadorU++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorU++;
        }
        if (listaUsuarios.getSelectedItem() instanceof Usuario) {
            Usuario us = (Usuario) listaUsuarios.getSelectedItem();
            if (us.getContrasenaActual().equals(campoPassword.getText())) {
                cambioClave = false;
            }
            controladorUsuario.modificarUsuario(us, campoUsuario.getText(), campoPassword.getText(), cambioClave);
            List<Perfil> lp = new ArrayList<Perfil>();
            for (int i = 0; i < listaPerfilesAsignados.getModel().getSize(); i++) {
                lp.add((Perfil) listaPerfilesAsignados.getModel().getElementAt(i));
            }
            usuario.setUsuarioPerfilCollection(controladorUsuario.eliminarPerfilUsuario(us, lp));
            guardarUsuario = true;
        } else {
            if (!busquedaUsuario && contadorU > 0) {
                Empleado e1 = (Empleado) listaUsuariosEmpleados.getSelectedItem();
                usuario = controladorUsuario.nuevoUsuario(e1, campoUsuario.getText(), campoPassword.getText());
                List<Perfil> lpp = new ArrayList<Perfil>();
                for (int i = 0; i < listaPerfilesAsignados.getModel().getSize(); i++) {
                    lpp.add((Perfil) listaPerfilesAsignados.getModel().getElementAt(i));
                }
                usuario.setUsuarioPerfilCollection(controladorUsuario.nuevoUsuarioPerfil(lpp));
                guardarUsuario = true;
            }
            if (busquedaUsuario) {
                JOptionPane.showMessageDialog(null, "Ya existe el nombre de usuario: " + campoUsuario.getText(), "Error al guardar!", 2);
                guardarUsuario = false;
            }
        }
        tabMouseClicked(null);
        if (guardarUsuario) {
            JOptionPane.showMessageDialog(null, "Usuario guardado con éxito", "Guardar Usuario: ", 1);
        }
        if (busquedaUsuario || guardarUsuario) {
            //Es un elemento nuevo asi que vuelvo a la pantalla del consultar
            campoUsuario.setVisible(false);
            labelUsuario.setVisible(false);
            campoUsuarioEmpleado.setVisible(false);
            labelUsuarioEmpleado.setVisible(false);
            campoPassword.setSize(12, 200);
            botonGuardarUsuario.setEnabled(false);
            botonEditarUsuario.setEnabled(false);
            botonEliminarUsuario.setEnabled(false);
            botonNuevoUsuario.setEnabled(true);
            listaUsuariosEmpleados.setVisible(false);
            labelUsuarioEmpleados.setVisible(false);
            listaUsuarios.setVisible(true);
            labelBusquedaEmpleado.setVisible(true);
            campoUsuario.setText("");
            campoPassword.setText("");
            mcpd.removeAllElements();
            mcpu.removeAllElements();
            mcu.removeAllElements();
            mcusuario.removeAllElements();
            mcusuario.addElement(controladorUsuario.inicializarPantallaUsuario());
            listaUsuarios.setModel(mcusuario);
            listaUsuarios.setSelectedItem(0);
            labelTituloUsuarios.setText("Consultar Usuarios");
        } else {
            //Es un elemento modificado
            campoUsuario.setText("");
            campoPassword.setText("");
            mcpd.removeAllElements();
            mcpu.removeAllElements();
            mcu.removeAllElements();
            mcusuario.removeAllElements();
            mcusuario.addElement(controladorUsuario.inicializarPantallaUsuario());
            listaUsuarios.setModel(mcusuario);
            listaUsuarios.setSelectedItem(0);
        }
    }//GEN-LAST:event_botonGuardarUsuarioActionPerformed

    private void tablaLicenciasMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tablaLicenciasMouseClicked
        nroFila = tablaLicencias.getSelectedRow();
        /////Muestro el ultimo estado de licencia en la tabla
        nombreEstado = tablaLicencias.getValueAt(nroFila, 6).toString();
        List<EstadoLicencia> estadoLicenciaCollection = lic.get(nroFila).getEstadoLicenciaCollection();
        for (EstadoLicencia estadoLicencia : estadoLicenciaCollection) {
            observacionLicencia = estadoLicencia.getObservacion();
        }
        if (nombreEstado.equalsIgnoreCase("Solicitada")) {
            botonAutorizarLicencia.setEnabled(al);
            botonRechazarLicencia.setEnabled(al);
        }
        if (nombreEstado.equalsIgnoreCase("Rechazada")) {
            botonAutorizarLicencia.setEnabled(false);
            botonRechazarLicencia.setEnabled(false);
        }
        if (nombreEstado.equalsIgnoreCase("Autorizada")) {
            botonAutorizarLicencia.setEnabled(false);
            botonRechazarLicencia.setEnabled(false);
        }
        if (nombreEstado.equalsIgnoreCase("Finalizada")) {
            botonAutorizarLicencia.setEnabled(false);
            botonRechazarLicencia.setEnabled(false);
        }
        if (nombreEstado.equalsIgnoreCase("En uso")) {
            botonAutorizarLicencia.setEnabled(false);
            botonRechazarLicencia.setEnabled(false);
        }
    }//GEN-LAST:event_tablaLicenciasMouseClicked

    private void botonAutorizarLicenciaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonAutorizarLicenciaActionPerformed
        nombreEstado = "Autorizada";
        observacionLicencia = JOptionPane.showInputDialog(null, "Motivo de la autorización: ", "Licencias", 1);
        if (elnuevo) {
            el.get(1).setFechaCambioEstado(fechaCambioEstado);
            el.get(1).setIdLicencia(lic.get(nroFila));
            el.get(1).setNombreEstado(nombreEstado);
            el.get(1).setObservacion(observacionLicencia);
            controladorLicencias.autorizarLicencia(el.get(1));
            lic.get(nroFila).setEstadoLicenciaCollection(el);
            JOptionPane.showMessageDialog(null, "Licencia autorizada con éxito", "Autorización de Licencias", 1);
        } else {
            List<EstadoLicencia> elviejo = lic.get(nroFila).getEstadoLicenciaCollection();
            elviejo.get(1).setFechaCambioEstado(fechaCambioEstado);
            elviejo.get(1).setIdLicencia(lic.get(nroFila));
            elviejo.get(1).setNombreEstado(nombreEstado);
            elviejo.get(1).setObservacion(observacionLicencia);
            controladorLicencias.autorizarLicencia(elviejo.get(1));
        }
        //Limpio combos
        areaMotivoLicencia.setText("");
        listaTipoLicencia.setEnabled(false);
        botonSolicitarLicencia.setEnabled(false);
        fechaDesdeLicencia.setEnabled(false);
        fechaHastaLicencia.setEnabled(false);
        ////Cargo la tabla con todas las licencias
        if (perfillicencia == 1051) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        }
//        if (perfillicencia == 1001) {
//            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
//        }
        if (perfillicencia == 1401) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        }
        if (perfillicencia == 1402) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        } else {
            lic = controladorLicencias.buscarLicencias();
        }
        ModeloTablaLicencias modeloTabla = new ModeloTablaLicencias();
        modeloTabla.setList(lic);
        tablaLicencias.setModel(modeloTabla);
        fechaDesdeLicencia.setEnabled(false);
        fechaHastaLicencia.setEnabled(false);
    }//GEN-LAST:event_botonAutorizarLicenciaActionPerformed
    private void botonRechazarLicenciaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonRechazarLicenciaActionPerformed
        nombreEstado = "Rechazada";
        observacionLicencia = JOptionPane.showInputDialog(null, "Motivo del rechazo: ", "Licencias", 1);
        if (elnuevo) {
            el.get(1).setFechaCambioEstado(fechaCambioEstado);
            el.get(1).setIdLicencia(lic.get(nroFila));
            el.get(1).setNombreEstado(nombreEstado);
            el.get(1).setObservacion(observacionLicencia);
            controladorLicencias.rechazarLicencia(el.get(1));
            lic.get(nroFila).setEstadoLicenciaCollection(el);
            JOptionPane.showMessageDialog(null, "Licencia rechazada con éxito", "Rechazo de Licencias", 1);
        } else {
            List<EstadoLicencia> elviejo = lic.get(nroFila).getEstadoLicenciaCollection();
            for (int i = 1; i <= 3; i++) {
                elviejo.get(i).setFechaCambioEstado(fechaCambioEstado);
                elviejo.get(i).setIdLicencia(lic.get(nroFila));
                elviejo.get(i).setNombreEstado(nombreEstado);
                elviejo.get(i).setObservacion(observacionLicencia);
                controladorLicencias.rechazarLicencia(elviejo.get(i));
            }
        }
        //Limpio combos
        areaMotivoLicencia.setText("");
        listaTipoLicencia.setEnabled(false);
        botonSolicitarLicencia.setEnabled(false);
        fechaDesdeLicencia.setEnabled(false);
        fechaHastaLicencia.setEnabled(false);
        ////Cargo la tabla con todas las licencias
        if (perfillicencia == 1051) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        }
//        if (perfillicencia == 1001) {
//            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
//        }
        if (perfillicencia == 1401) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        }
        if (perfillicencia == 1402) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        } else {
            lic = controladorLicencias.buscarLicencias();
        }
        // lic = controladorLicencias.buscarLicencias();
        ModeloTablaLicencias modeloTabla = new ModeloTablaLicencias();
        modeloTabla.setList(lic);
        tablaLicencias.setModel(modeloTabla);
        fechaDesdeLicencia.setEnabled(false);
        fechaHastaLicencia.setEnabled(false);
    }//GEN-LAST:event_botonRechazarLicenciaActionPerformed

    private void listaApellidoLicenciasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaApellidoLicenciasActionPerformed
        if (listaApellidoLicencias.getSelectedItem() instanceof Empleado) {
            emplelic = (Empleado) listaApellidoLicencias.getSelectedItem();
            fechaDesdeLicencia.setEnabled(true);
            fechaHastaLicencia.setEnabled(true);
            listaTipoLicencia.setEnabled(true);
            Modelos.ModeloComboTipoLicencia mltl = new Modelos.ModeloComboTipoLicencia();
            t1 = controladorTipoLicencia.buscarTipo();
            mltl.addElement(t1);
            listaTipoLicencia.setModel(mltl);
            listaTipoLicencia.setSelectedItem(0);
        }
    }//GEN-LAST:event_listaApellidoLicenciasActionPerformed

    private void botonSolicitarLicenciaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonSolicitarLicenciaActionPerformed
        SimpleDateFormat formatoDelTexto = new SimpleDateFormat("yyyy-MM-dd");
        fechaDesdeLicencia.setDateFormat(formatoDelTexto);
        fechaHastaLicencia.setDateFormat(formatoDelTexto);
        Date licinicio = null, licfin = null;
        Licencia lic2 = null;
        List<EstadoLicencia> el2 = new ArrayList<EstadoLicencia>(4);
        int yatienelicencia = 0;
        int yatienelicencia2 = 0;
        int numero = 0;
        boolean puede = true;
        try {
            licinicio = formatoDelTexto.parse(fechaDesdeLicencia.getText());
            licfin = formatoDelTexto.parse(fechaHastaLicencia.getText());
        } catch (ParseException ex) {
            System.out.println("Excepcion en la conversion de fechas");
            ex.toString();
        }
        Date fechaActual = new Date();
        if (licfin.before(fechaActual)) {
            JOptionPane.showMessageDialog(null, "La fecha final debe ser mayor a la actual", "Atencion!!!", 1);
            puede = false;
        }
        if (licinicio.before(fechaActual)) {
            JOptionPane.showMessageDialog(null, "La fecha inicial debe ser mayor a la actual", "Atencion!!!", 1);
            puede = false;
        }
        if (licfin.before(licinicio)) {
            JOptionPane.showMessageDialog(null, "La fecha final debe ser mayor a la inicial", "Atencion!!!", 1);
            puede = false;
        }
        ////Aca corroboro que no tenga licencia en la misma fecha que va a pedir licencia
        for (Licencia lic1 : lic) {
            yatienelicencia = licinicio.compareTo(lic1.getFechaInicioLicencia());
            yatienelicencia2 = licfin.compareTo(lic1.getFechaFinLicencia());
            if (yatienelicencia >= 0 && yatienelicencia2 <= 0) {
                JOptionPane.showMessageDialog(null, "Ya tiene una licencia en el periodo seleccionado", "Atencion!!!", 1);
                puede = false;
            }
        }
        if (puede) {
            List<Licencia> licenciaCollection = emplelic.getLicenciaLista();
            if (licenciaCollection.isEmpty()) {
                numero = 1;
            } else {
                numero = licenciaCollection.get(licenciaCollection.size() - 1).getNumeroLicencia() + 1;
            }
            nombreEstado = "Solicitada";
            observacionLicencia = areaMotivoLicencia.getText();
            lic2 = controladorLicencias.crearLicencia(licinicio, licfin, tipolic, numero, emplelic);
            el2.add(controladorLicencias.solicitarLicencia(fechaCambioEstado, nombreEstado, observacionLicencia, lic2));
            el2.add(controladorLicencias.solicitarLicencia(null, null, null, lic2));
            el2.add(controladorLicencias.solicitarLicencia(null, null, null, lic2));
            el2.add(controladorLicencias.solicitarLicencia(null, null, null, lic2));
            el = el2;
            JOptionPane.showMessageDialog(null, "Licencia solicitada con éxito", "Solicitud de Licencias", 1);
            elnuevo = true;
            //Limpio combos
            listaTipoLicencia.setEnabled(false);
            botonSolicitarLicencia.setEnabled(false);
            fechaDesdeLicencia.setEnabled(false);
            fechaHastaLicencia.setEnabled(false);
        }
        if (lic2 != null) {
            lic.add(numero - 1, lic2);
        }
        lic.set(numero - 1, controladorLicencias.agregarEstados(lic2, el2));
        ////Cargo la tabla con todas las licencias
        if (perfillicencia == 1051) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        }
//        if (perfillicencia == 1001) {
//            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
//        }
        if (perfillicencia == 1401) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        }
        if (perfillicencia == 1402) {
            lic = usuariolicencia.getIdEmpleado().getLicenciaLista();
        } else {
            lic = controladorLicencias.buscarLicencias();
        }
        for (Licencia cencia : lic) {
            System.out.println("Soy LICENCIA nº " + cencia.getNumeroLicencia() + " ID: " + cencia.getIdLicencia());
            for (EstadoLicencia estadoLicencia : el2) {
                System.out.println("                  MOTIVO: " + estadoLicencia.getObservacion());
            }
        }
        //Limpio tabla y combos
        ModeloTablaLicencias modeloTabla = new ModeloTablaLicencias();
        modeloTabla.setList(lic);
        tablaLicencias.setModel(modeloTabla);
        observacionLicencia = "";
        areaMotivoLicencia.setText(observacionLicencia);
    }//GEN-LAST:event_botonSolicitarLicenciaActionPerformed

    private void listaEmpleadosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaEmpleadosActionPerformed
        labelVerificacionHuella.setText("");
        if (listaEmpleados.getSelectedItem() instanceof Empleado) {
            empleado = (Empleado) listaEmpleados.getSelectedItem();
            campoNombreEmpleado.setText(empleado.getNombre());
            campoApellidoEmpleado.setText(empleado.getApellido());
            campoLegajo.setText(empleado.getLegajoEmpleado().toString());
            listaTipoDU.removeAllItems();
            listaTipoDU.addItem("...");
            listaTipoDU.addItem("DNI");
            listaTipoDU.addItem("LE");
            listaTipoDU.addItem("LC");
            if (empleado.getTipoDU().equals("DNI")) {
                listaTipoDU.setSelectedIndex(1);
            }
            if (empleado.getTipoDU().equals("LE")) {
                listaTipoDU.setSelectedIndex(2);
            }
            if (empleado.getTipoDU().equals("LC")) {
                listaTipoDU.setSelectedIndex(3);
            }
            campoDU.setText(empleado.getNroDU().toString());
            fechaaltaempleado.setTime(empleado.getFechaAltaEmpleado());
            fechanac.setTime(empleado.getFechaNacimiento());
            labelFechaAlta.setVisible(true);
            comboFechaAltaEmpleado.setVisible(true);
            comboFechaAltaEmpleado.setSelectedDate(fechaaltaempleado);
            comboSexo.removeAllItems();
            comboSexo.addItem("...");
            comboSexo.addItem("F");
            comboSexo.addItem("M");
            if (empleado.getSexo().equals("F")) {
                comboSexo.setSelectedIndex(1);
            }
            if (empleado.getSexo().equals("M")) {
                comboSexo.setSelectedIndex(2);
            }
            campoNacionalidad.setText(empleado.getNacionalidad());
            campoCUIL.setText(empleado.getCuit().toString());
            campoNumeroTelefono.setText(empleado.getTel());
            comboEstadoCivil.removeAllItems();
            comboEstadoCivil.addItem("...");
            comboEstadoCivil.addItem("S");
            comboEstadoCivil.addItem("C");
            comboEstadoCivil.addItem("D");
            comboEstadoCivil.addItem("V");
            if (empleado.getEstadoCivil().equals("S")) {
                comboEstadoCivil.setSelectedIndex(1);
            }
            if (empleado.getEstadoCivil().equals("C")) {
                comboEstadoCivil.setSelectedIndex(2);
            }
            if (empleado.getEstadoCivil().equals("D")) {
                comboEstadoCivil.setSelectedIndex(3);
            }
            if (empleado.getEstadoCivil().equals("V")) {
                comboEstadoCivil.setSelectedIndex(4);
            }
            comboAntiguedad.setValue(empleado.getAntiguedad());
            campoEmail.setText(empleado.getEmail());
            labelFechaNacimiento.setVisible(true);
            comboFechaNacimiento.setVisible(true);
            comboFechaNacimiento.setSelectedDate(fechanac);
            listaOficinaEmpleado.removeAllItems();
            mceo.addElement(controladorOficina.inicializarPantallaOficina());
            listaOficinaEmpleado.setModel(mceo);
            for (int i = 0; i < listaOficinaEmpleado.getMaximumRowCount(); i++) {
                if (empleado.getIdOficina().getNombreOficina().equals(listaOficinaEmpleado.getItemAt(i).toString())) {
                    listaOficinaEmpleado.setSelectedIndex(i);
                }
            }
            listaJornadaEmpleado.removeAllItems();
            ejl = controladorEJ.buscarEJ();
            contadorJornada = 0;
            mcje.addElement(controladorJornada.incializarPantallaJornada());
            listaJornadaEmpleado.setModel(mcje);
            for (int i = 0; i < ejl.size(); i++) {
                if (ejl.get(i).getIdEmpleado().getIdEmpleado() == empleado.getIdEmpleado()) {
                    listaJornadaEmpleado.setSelectedItem(ejl.get(i).getIdJornadaLaboral());
                }
                contadorJornada++;
            }
            campoLegajo.setEditable(false);
            listaTipoDU.setEnabled(false);
            campoDU.setEditable(false);
            comboFechaAltaEmpleado.setEnabled(false);
            comboSexo.setEnabled(false);
            campoNacionalidad.setEditable(false);
            campoCUIL.setEditable(false);
            campoNumeroTelefono.setEditable(false);
            comboEstadoCivil.setEnabled(false);
            comboAntiguedad.setEnabled(false);
            campoEmail.setEditable(false);
            comboFechaNacimiento.setEnabled(false);
            botonHuella.setEnabled(false);
            botonEditarEmpleado.setEnabled(true);
            botonGuardarEmpleado.setEnabled(false);
            botonEliminarEmpleado.setEnabled(true);
            listaOficinaEmpleado.setEnabled(false);
            listaJornadaEmpleado.setEnabled(false);
            ////////DOMICILIO
            mcpaisemplado.removeAllElements();
            mcpaisemplado.addElement(controladorPais.buscarPaises());
            listaPaisEmpleado.setModel(mcpaisemplado);
            for (int i = 0; i < listaPaisEmpleado.getMaximumRowCount(); i++) {
                if (empleado.getIdDomicilio().getIdDistrito().getIdDepartamento().getIdProvincia().getIdPais().getNombrePais().equals(listaPaisEmpleado.getItemAt(i).toString())) {
                    listaPaisEmpleado.setSelectedIndex(i);
                    break;
                }
            }
            listaPaisEmpleado.setEnabled(false);
            mcprovemp.addElement(empleado.getIdDomicilio().getIdDistrito().getIdDepartamento().getIdProvincia().getIdPais().getProvinciaLista());
            listaProvinciaEmpleado.setModel(mcprovemp);
            for (int i = 0; i < listaProvinciaEmpleado.getMaximumRowCount(); i++) {
                if (empleado.getIdDomicilio().getIdDistrito().getIdDepartamento().getIdProvincia().getNombreProvincia().equals(listaProvinciaEmpleado.getItemAt(i).toString())) {
                    listaProvinciaEmpleado.setSelectedIndex(i);
                    break;
                }
            }
            listaProvinciaEmpleado.setEnabled(false);
            mcdptoemp.addElement(empleado.getIdDomicilio().getIdDistrito().getIdDepartamento().getIdProvincia().getDepartamentoLista());
            listaDepartamentoEmpleado.setModel(mcdptoemp);
            for (int i = 0; i < listaDepartamentoEmpleado.getMaximumRowCount(); i++) {
                if (empleado.getIdDomicilio().getIdDistrito().getIdDepartamento().getNombreDepartamento().equals(listaDepartamentoEmpleado.getItemAt(i).toString())) {
                    listaDepartamentoEmpleado.setSelectedIndex(i);
                    break;
                }
            }
            listaDepartamentoEmpleado.setEnabled(false);
            mcdisemp.addElement(empleado.getIdDomicilio().getIdDistrito().getIdDepartamento().getDistritoLista());
            listaDistritoEmpleado.setModel(mcdisemp);
            for (int i = 0; i < listaDistritoEmpleado.getMaximumRowCount(); i++) {
                if (empleado.getIdDomicilio().getIdDistrito().getNombreDistrito().equals(listaDistritoEmpleado.getItemAt(i).toString())) {
                    listaDistritoEmpleado.setSelectedIndex(i);
                    break;
                }
            }
            listaDistritoEmpleado.setEnabled(false);
            campoBarrioEmpleado.setText(empleado.getIdDomicilio().getBarrio());
            campoCalleEmpleado.setText(empleado.getIdDomicilio().getCalle());
            campoNumeroEmpleado.setText(empleado.getIdDomicilio().getNroCalle().toString());
            campoDeptoEmpleado.setText(empleado.getIdDomicilio().getNroDpto());
            campoPisoEmpleado.setText(empleado.getIdDomicilio().getPiso());
            campoBarrioEmpleado.setEnabled(false);
            campoCalleEmpleado.setEnabled(false);
            campoNumeroEmpleado.setEnabled(false);
            campoDeptoEmpleado.setEnabled(false);
            campoPisoEmpleado.setEnabled(false);
            bio2 = controladorEmpleado.buscarBio(empleado);
            if (bio2 == null) {
                labelVerificacionHuella.setText("El empleado no posee huella digital. ");
            } else {
                labelVerificacionHuella.setText("");
            }
        }
    }//GEN-LAST:event_listaEmpleadosActionPerformed

    private void botonEditarEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEditarEmpleadoActionPerformed
        if (!auxiliarEmpleado) {
            labelTituloEmpleados.setText("Editar Empleados");
            listaEmpleados.setVisible(false);
            labelApellidoNombreEmpleados.setVisible(false);
            botonHuella.setVisible(true);
            botonHuella.setEnabled(true);
            botonGuardarEmpleado.setEnabled(true);
            listaPaisEmpleado.setEnabled(true);
            listaProvinciaEmpleado.setEnabled(true);
            listaDepartamentoEmpleado.setEnabled(true);
            listaDistritoEmpleado.setEnabled(true);
            campoBarrioEmpleado.setEnabled(true);
            campoCalleEmpleado.setEnabled(true);
            campoNumeroEmpleado.setEnabled(true);
            campoDeptoEmpleado.setEnabled(true);
            campoPisoEmpleado.setEnabled(true);
            labelNombreEmpleado.setVisible(true);
            campoNombreEmpleado.setVisible(true);
            labelApellidoEmpleado.setVisible(true);
            campoApellidoEmpleado.setVisible(true);
            comboFechaNacimiento.setVisible(true);
            comboSexo.setVisible(true);
            comboSexo.setEnabled(true);
            campoLegajo.setEditable(false);
            listaTipoDU.setEnabled(true);
            campoDU.setEditable(false);
            comboSexo.setEnabled(true);
            campoNacionalidad.setEditable(false);
            campoCUIL.setEditable(true);
            campoNumeroTelefono.setEditable(true);
            comboEstadoCivil.setEnabled(true);
            comboAntiguedad.setEnabled(true);
            comboFechaNacimiento.setEnabled(true);
            campoEmail.setEditable(true);
            listaOficinaEmpleado.setEnabled(true);
            listaJornadaEmpleado.setEnabled(true);
            campoNombreEmpleado.setText(empleado.getNombre());
            campoApellidoEmpleado.setText(empleado.getApellido());
            botonEliminarEmpleado.setEnabled(false);
            botonNuevoEmpleado.setEnabled(false);
            ////////Mostrar Huella en un panel///////
        } else {
            campoNombreEmpleado.setText("");
            campoApellidoEmpleado.setText("");
            listaEmpleados.removeAllItems();
            mcempleado.removeAllElements();
            listaJornadaEmpleado.removeAllItems();
            listaOficinaEmpleado.removeAllItems();
            mcempleado.addElement(controladorEmpleado.inicializarPantallaEmpleado());
            listaEmpleados.setModel(mcempleado);
            listaEmpleados.setSelectedItem(0);
            campoLegajo.setText("");
            listaTipoDU.setSelectedIndex(0);
            campoDU.setText("");
            comboSexo.setSelectedIndex(0);
            campoNacionalidad.setText("");
            campoCUIL.setText("");
            campoNumeroTelefono.setText("");
            comboEstadoCivil.setSelectedIndex(0);
            comboAntiguedad.setValue(0);
            campoEmail.setText("");
            campoBarrioEmpleado.setText("");
            campoCalleEmpleado.setText("");
            campoNumeroEmpleado.setText("");
            campoPisoEmpleado.setText("");
            campoDpto.setText("");
            campoDeptoEmpleado.setText("");
            listaPaisEmpleado.setSelectedIndex(0);
            labelVerificacionHuella.setText("");
            labelTituloEmpleados.setText("Consultar Empleados");
            botonHuella.setEnabled(false);
            botonHuella.setVisible(false);
            botonGuardarEmpleado.setEnabled(false);
            botonEditarEmpleado.setEnabled(false);
            botonNuevoEmpleado.setEnabled(true);
            campoLegajo.setEditable(false);
            listaTipoDU.setEnabled(false);
            campoDU.setEditable(false);
            comboFechaAltaEmpleado.setEnabled(false);
            comboSexo.setEnabled(false);
            campoNacionalidad.setEditable(false);
            campoCUIL.setEditable(false);
            campoNumeroTelefono.setEditable(false);
            comboEstadoCivil.setEnabled(false);
            comboAntiguedad.setEnabled(false);
            campoEmail.setEditable(false);
            comboFechaNacimiento.setEnabled(false);
            listaOficinaEmpleado.setEnabled(false);
            listaJornadaEmpleado.setEnabled(false);
            listaEmpleados.setVisible(true);
            labelApellidoNombreEmpleados.setVisible(true);
            System.out.println("Volviiiiiiii");
        }

        auxiliarEmpleado = !auxiliarEmpleado;
        labelNombreEmpleado.setVisible(auxiliarEmpleado);
        campoNombreEmpleado.setVisible(auxiliarEmpleado);
        labelApellidoEmpleado.setVisible(auxiliarEmpleado);
        campoApellidoEmpleado.setVisible(auxiliarEmpleado);

    }//GEN-LAST:event_botonEditarEmpleadoActionPerformed
    private void botonGuardarEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonGuardarEmpleadoActionPerformed
        Date fechabajaEmpleado = ConvertirFechas.stringAFecha(cadena);
        //Verifico que no exista un empleado con el mismo dni//
        boolean busquedaEmpleado = false, busquedaEmpleado2 = false, guardarEmpleado = false;
        int contadorEmp = 0;
        int contadorEmp2 = 0;
        List<Empleado> busquedaRepetidos, busquedaRepetidos2;
        busquedaRepetidos = controladorEmpleado.buscarEmpleadoDU(campoDU.getText());
        busquedaRepetidos2 = controladorEmpleado.buscarEmpleadoLegajo(campoLegajo.getText());
        for (Empleado emp : busquedaRepetidos) {
            if (emp.getVigente()) {
                busquedaEmpleado = true;
            } else {
                busquedaEmpleado = false;
            }
            contadorEmp++;
        }
        if (busquedaRepetidos.isEmpty()) {
            contadorEmp++;
        }
        for (Empleado emp : busquedaRepetidos2) {
            if (emp.getVigente()) {
                busquedaEmpleado2 = true;
            } else {
                busquedaEmpleado2 = false;
            }
            contadorEmp2++;
        }
        if (busquedaRepetidos2.isEmpty()) {
            contadorEmp2++;
        }
        //Si entro al IF es por que estoy modificando un escaner
        if (listaEmpleados.getSelectedItem() instanceof Empleado) {
            //Actualizo el domicilio del empleado
            Distrito dist = (Distrito) listaDistritoEmpleado.getSelectedItem();
            JornadaLaboral jle = (JornadaLaboral) listaJornadaEmpleado.getSelectedItem();
            Oficina ofic = (Oficina) listaOficinaEmpleado.getSelectedItem();
            controladorEmpleado.modificarEmpleado(empleado, comboFechaNacimiento.getCurrent(),
                    comboSexo.getSelectedItem().toString(), campoNombreEmpleado.getText(), campoApellidoEmpleado.getText(),
                    (Integer) (comboAntiguedad.getValue()), comboEstadoCivil.getSelectedItem().toString(), campoLegajo.getText(),
                    campoCUIL.getText(), campoDU.getText(), campoEmail.getText(), campoNacionalidad.getText(),
                    jle, ofic, listaTipoDU.getSelectedItem().toString(), campoNumeroTelefono.getText(), dist, campoBarrioEmpleado.getText(), campoCalleEmpleado.getText(),
                    campoNumeroEmpleado.getText(), campoDeptoEmpleado.getText(), campoPisoEmpleado.getText());
            empleado.setIdOficina(ofic);
            guardarEmpleado = true;
        } else {
            if (!busquedaEmpleado && !busquedaEmpleado2 && contadorEmp > 0 && contadorEmp2 > 0) {
                JornadaLaboral jle = (JornadaLaboral) listaJornadaEmpleado.getSelectedItem();
                Oficina ofic = (Oficina) listaOficinaEmpleado.getSelectedItem();
                Distrito dist = (Distrito) listaDistritoEmpleado.getSelectedItem();
                empleado = controladorEmpleado.nuevoEmpleado(campoNombreEmpleado.getText(), campoApellidoEmpleado.getText(),
                        (Integer) (comboAntiguedad.getValue()), comboEstadoCivil.getSelectedItem().toString(), campoLegajo.getText(),
                        campoCUIL.getText(), campoDU.getText(), campoEmail.getText(), campoNacionalidad.getText(),
                        ofic, listaTipoDU.getSelectedItem().toString(),
                        campoNumeroTelefono.getText(), dist, campoBarrioEmpleado.getText(), campoCalleEmpleado.getText(),
                        campoNumeroEmpleado.getText(), campoDeptoEmpleado.getText(), campoPisoEmpleado.getText(),
                        comboFechaNacimiento.getCurrent(), comboSexo.getSelectedItem().toString(), fechabajaEmpleado);
                EmpleadoJornada ejl2 = new EmpleadoJornada();
                ejl2.setFechaInicioEJ(hoy);
                ejl2.setFechaFinEJ(null);
                ejl2.setIdEmpleado(empleado);
                ejl2.setIdJornadaLaboral(jle);
                controladorEmpleado.asignarJL(empleado, ejl2, jle);
                guardarEmpleado = true;
            }
            if (busquedaEmpleado) {
                JOptionPane.showMessageDialog(null, "Ya existe una persona con el numero de D.U.: " + campoDU.getText(), "Error al guardar!", 2);
                guardarEmpleado = false;
            }
            if (busquedaEmpleado2) {
                JOptionPane.showMessageDialog(null, "Ya existe una persona con el numero de Legajo.: " + campoLegajo.getText(), "Error al guardar!", 2);
                guardarEmpleado = false;
            }
        }
        tabMouseClicked(null);
        if (guardarEmpleado) {
            JOptionPane.showMessageDialog(null, "Empleado guardado con éxito", "Guardar Empleado: ", 1);
        }
        if ("".equals(campoLegajo.getText())) {
            JOptionPane.showMessageDialog(null, "Debe colocar un numero de legajo ", "Error al guardar!", 2);
        }
        if ("".equals(campoDU.getText())) {
            JOptionPane.showMessageDialog(null, "Debe colocar un numero de D.U. ", "Error al guardar!", 2);
        }
        if (busquedaEmpleado || busquedaEmpleado2 || guardarEmpleado) {
            //Es un elemento nuevo asi que vuelvo a la pantalla del consultar
            campoNombreEmpleado.setText("");
            campoApellidoEmpleado.setText("");
            listaEmpleados.removeAllItems();
            mcempleado.removeAllElements();
            listaJornadaEmpleado.removeAllItems();
            listaOficinaEmpleado.removeAllItems();
            mcempleado.addElement(controladorEmpleado.inicializarPantallaEmpleado());
            listaEmpleados.setModel(mcempleado);
            listaEmpleados.setSelectedItem(0);
            campoLegajo.setText("");
            listaTipoDU.setSelectedIndex(0);
            campoDU.setText("");
            comboSexo.setSelectedIndex(0);
            campoNacionalidad.setText("");
            campoCUIL.setText("");
            campoNumeroTelefono.setText("");
            comboEstadoCivil.setSelectedIndex(0);
            comboAntiguedad.setValue(0);
            campoEmail.setText("");
            campoBarrioEmpleado.setText("");
            campoCalleEmpleado.setText("");
            campoNumeroEmpleado.setText("");
            campoPisoEmpleado.setText("");
            campoDpto.setText("");
            campoDeptoEmpleado.setText("");
            listaPaisEmpleado.setSelectedIndex(0);
            labelTituloEmpleados.setText("Consultar Empleados");
            botonEditarEmpleado.setEnabled(false);
            botonGuardarEmpleado.setEnabled(false);
        } else {
            //Es un elemento modificado
            campoNombreEmpleado.setText("");
            campoApellidoEmpleado.setText("");
            listaEmpleados.removeAllItems();
            mcempleado.removeAllElements();
            listaJornadaEmpleado.removeAllItems();
            listaOficinaEmpleado.removeAllItems();
            mcempleado.addElement(controladorEmpleado.inicializarPantallaEmpleado());
            listaEmpleados.setModel(mcempleado);
            listaEmpleados.setSelectedItem(0);
            campoLegajo.setText("");
            listaTipoDU.setSelectedIndex(0);
            campoDU.setText("");
            comboSexo.setSelectedIndex(0);
            campoNacionalidad.setText("");
            campoCUIL.setText("");
            campoNumeroTelefono.setText("");
            comboEstadoCivil.setSelectedIndex(0);
            comboAntiguedad.setValue(0);
            campoEmail.setText("");
            campoBarrioEmpleado.setText("");
            campoCalleEmpleado.setText("");
            campoNumeroEmpleado.setText("");
            campoPisoEmpleado.setText("");
            campoDpto.setText("");
            campoDeptoEmpleado.setText("");
            listaPaisEmpleado.setSelectedIndex(0);
        }
        labelVerificacionHuella.setText("");
    }//GEN-LAST:event_botonGuardarEmpleadoActionPerformed

    private void listaProvinciaEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaProvinciaEmpleadoActionPerformed
        listaDepartamentoEmpleado.removeAllItems();
        mcdptoemp.removeAllElements();
        if (listaProvinciaEmpleado.getSelectedItem() instanceof Provincia) {
            Provincia provincia = (Provincia) listaProvinciaEmpleado.getSelectedItem();
            mcdptoemp.addElement(provincia.getDepartamentoLista());
            listaDepartamentoEmpleado.setModel(mcdptoemp);
            listaDepartamentoEmpleado.setSelectedItem(0);
        }
    }//GEN-LAST:event_listaProvinciaEmpleadoActionPerformed

    private void listaDepartamentoEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaDepartamentoEmpleadoActionPerformed
        listaDistritoEmpleado.removeAllItems();
        mcdisemp.removeAllElements();
        if (listaDepartamentoEmpleado.getSelectedItem() instanceof Departamento) {
            Departamento departamento = (Departamento) listaDepartamentoEmpleado.getSelectedItem();
            mcdisemp.addElement(departamento.getDistritoLista());
            listaDistritoEmpleado.setModel(mcdisemp);
            listaDistritoEmpleado.setSelectedItem(0);
        }
    }//GEN-LAST:event_listaDepartamentoEmpleadoActionPerformed

    private void listaPaisEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaPaisEmpleadoActionPerformed
        listaProvinciaEmpleado.removeAllItems();
        mcprovemp.removeAllElements();
        if (listaPaisEmpleado.getSelectedItem() instanceof Pais) {
            Pais pais = (Pais) listaPaisEmpleado.getSelectedItem();
            mcprovemp.addElement(pais.getProvinciaLista());
            listaProvinciaEmpleado.setModel(mcprovemp);
            listaProvinciaEmpleado.setSelectedItem(0);
        }
    }//GEN-LAST:event_listaPaisEmpleadoActionPerformed

    private void botonHuellaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonHuellaActionPerformed
        String grFingerNativeDirectory = new File(".").getAbsolutePath();
        ControladorEmpleado.setFingerprintSDKNativeDirectory(grFingerNativeDirectory);
        int resultado = 0;
        if (!botonEditarEmpleado.isSelected()) {
            Empleado empleHuella = ((Empleado) listaEmpleados.getSelectedItem());
            if (empleHuella.getBio() == null) {
                Captura captura = new Captura(empleHuella);
            } else {
                resultado = JOptionPane.showOptionDialog(null, "Desea reemplazar la huella", "Registrar Huella", 2, 1, null, null, null);
                if (resultado == JOptionPane.OK_OPTION) {
                    Captura captura = new Captura(empleHuella);
                }
            }
        }
    }//GEN-LAST:event_botonHuellaActionPerformed
    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
        controladorEmpleado.finalizarCaptura();
        Logout logout = new Logout();
        setDefaultCloseOperation(Principal.DISPOSE_ON_CLOSE);
    }//GEN-LAST:event_formWindowClosing

    private void botonAltaPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonAltaPerfilActionPerformed
        //Habilito y deshabilito botones, campos, etc
        labelTituloPerfiles.setText("Alta Perfil");
        labelNuevoPerfil.setVisible(true);
        campoNombrePerfil.setVisible(true);
        campoNombrePerfil.setEditable(true);
        campoNombrePerfil.setSize(12, 100);
        campoNombrePerfil.setText("");
        areaDescripcionPerfil.setText("");
        areaDescripcionPerfil.setEditable(true);
        listaPerfil.setVisible(false);
        labelNombrePerfil.setVisible(false);
        botonAltaPerfil.setEnabled(false);
        botonGuardarPerfil.setEnabled(true);
        botonEditarPerfil.setEnabled(false);
        botonEliminarPerfil.setEnabled(false);
        listaOperacionesActuales.setEnabled(true);
        mcpo.removeAllElements();
        mclo.removeAllElements();
        mclo.addElement(controladorOperaciones.incializarPantallaOperaciones());
        listaOperacionesAgregar.setModel(mclo);
        listaOperacionesAgregar.setSelectedIndex(0);
    }//GEN-LAST:event_botonAltaPerfilActionPerformed

    private void botonEliminarPerfilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarPerfilActionPerformed
        if (listaPerfil.getSelectedItem() instanceof Perfil) {
            Perfil c = (Perfil) listaPerfil.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar el perfil??", "Perfiles", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                controladorPerfil.eliminarPerfil(c);
                mcc.removeAllElements();
                mcc.addElement(controladorPerfil.incializarPantallaPerfil());
                listaPerfil.setModel(mcc);
                listaPerfil.setSelectedItem(0);
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarPerfilActionPerformed

    private void botonNuevaOperacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonNuevaOperacionActionPerformed
        labelTituloOperaciones.setText("Nueva Operación");
        botonGuardarOperaciones.setEnabled(true); //Habilito
        campoNuevoOperaciones.setVisible(true);
        campoNuevoOperaciones.setEditable(true);
        campoNuevoOperaciones.setText("");
        listaOperaciones.setVisible(false);
        labelNombreOperaciones.setVisible(false);
        labelNuevoOperaciones.setVisible(true);
        botonNuevaOperacion.setEnabled(false);
        botonEditarOperaciones.setEnabled(false);
        botonEliminarOperaciones.setEnabled(false);
        areaDescripcionOperaciones.setEditable(!auxiliarOperaciones);
        mcp.removeAllElements();
        mcp.addElement(controladorOperaciones.incializarPantallaOperaciones());
        listaOperaciones.setModel(mcp);
        listaOperaciones.setSelectedItem(0);
    }//GEN-LAST:event_botonNuevaOperacionActionPerformed

    private void botonEliminarOperacionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarOperacionesActionPerformed
        if (listaOperaciones.getSelectedItem() instanceof Operaciones) {
            Operaciones o = (Operaciones) listaOperaciones.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar la Operación?", "Operaciones", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                controladorOperaciones.eliminarOperacion(o);
                mcp.removeAllElements();
                mcp.addElement(controladorOperaciones.incializarPantallaOperaciones());
                listaOperaciones.setModel(mcp);
                listaOperaciones.setSelectedItem(0);
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarOperacionesActionPerformed

    private void botonNuevaJornadaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonNuevaJornadaActionPerformed
        labelTituloJornadaLaboral.setText("Nueva Jornada Laboral");
        botonGuardarJornada.setEnabled(true); //Habilito
        campoNombreJornada.setVisible(true);
        campoNombreJornada.setEditable(true);
        campoNombreJornada.setText("");
        campoHoraEntradaJL.setEditable(true);
        campoHoraSalidaJL.setEditable(true);
        toleranciaJL.setEnabled(true);
        listaJornadas.setVisible(false);
        labelJornada.setVisible(false);
        labelNombrejornadaLaboral.setVisible(true);
        botonNuevaJornada.setEnabled(false);
        botonEditarJornada.setEnabled(false);
        botonEliminarJornada.setEnabled(false);
        areaDescripcionJornada.setEditable(true);
        mcj.removeAllElements();
        mcj.addElement(controladorJornada.incializarPantallaJornada());
        listaJornadas.setModel(mcj);
        listaJornadas.setSelectedItem(0);
    }//GEN-LAST:event_botonNuevaJornadaActionPerformed

    private void botonEliminarJornadaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarJornadaActionPerformed
        if (listaJornadas.getSelectedItem() instanceof JornadaLaboral) {
            JornadaLaboral jl = (JornadaLaboral) listaJornadas.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar la Jornada Laboral?", "Jornada Laboral", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                controladorJornada.eliminarJornada(jl);
                mcj.removeAllElements();
                mcj.addElement(controladorJornada.incializarPantallaJornada());
                listaJornadas.setModel(mcj);
                listaJornadas.setSelectedItem(0);
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarJornadaActionPerformed

    private void botonNuevoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonNuevoUsuarioActionPerformed
        labelTituloUsuarios.setText("Nuevo Usuario");
        botonGuardarUsuario.setEnabled(true); //Habilito
        campoUsuario.setEditable(true);
        campoUsuario.setVisible(true);
        campoUsuario.setText("");
        labelUsuario.setVisible(true);
        campoPassword.setEditable(true);
        campoPassword.setText("");
        campoPassword.setSize(12, 200);
        labelPassword.setVisible(true);
        listaUsuarios.setVisible(false);
        labelUsuarioEmpleado.setVisible(false);
        campoUsuarioEmpleado.setVisible(false);
        labelBusquedaEmpleado.setVisible(false);
        listaPerfilesAsignados.setVisible(true);
        labelPerfilesAsignados.setVisible(true);
        botonNuevoUsuario.setEnabled(false);
        botonEditarUsuario.setEnabled(false);
        botonEliminarUsuario.setEnabled(false);
        mcu.removeAllElements();
        mcu.addElement(controladorEmpleado.inicializarPantallaEmpleado());
        listaUsuariosEmpleados.setModel(mcu);
        listaUsuariosEmpleados.setSelectedItem(0);
        listaUsuariosEmpleados.setVisible(true);
        labelUsuarioEmpleados.setVisible(true);
        mcpd.removeAllElements();
        perfilesdispo = (List<Perfil>) controladorPerfil.incializarPantallaPerfil();
        mcpd.addElement(perfilesdispo);
        listaPerfilesDisponibles.setModel(mcpd);
    }//GEN-LAST:event_botonNuevoUsuarioActionPerformed

    private void botonEliminarUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarUsuarioActionPerformed
        if (listaUsuarios.getSelectedItem() instanceof Usuario) {
            Usuario ul = (Usuario) listaUsuarios.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar el Usuario?", "Usuario", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                controladorUsuario.eliminarUsuario(ul);
                mcusuario.removeAllElements();
                mcusuario.addElement(controladorUsuario.inicializarPantallaUsuario());
                listaUsuarios.setModel(mcusuario);
                listaUsuarios.setSelectedItem(0);
                ////Limpio pantalla
                campoUsuario.setText("");
                campoPassword.setText("");
                mcpu.removeAllElements();
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarUsuarioActionPerformed

    private void botonNuevaOficinaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonNuevaOficinaActionPerformed
        labelTituloOficinas.setText("Nueva Oficina");
        botonGuardarOficinas.setEnabled(true);
        botonNuevaOficina.setEnabled(false);
        botonEditarOficina.setEnabled(false);
        botonEliminarOficina.setEnabled(false);
        labelNombreOficinaACrear.setVisible(true);
        listaOficinas.setVisible(false);
        labelNombreOficina.setVisible(false);
        campoNombreOficinas.setText("");
        campoNumeroOficinas.setEditable(true);
        campoNumeroOficinas.setEnabled(true);
        campoNumeroOficinas.setText("");
        campoNombreOficinas.setVisible(true);
        campoNombreOficinas.setEnabled(true);
        campoNombreOficinas.setEditable(true);
        campoBarrioOficina.setText("");
        campoBarrioOficina.setEnabled(true);
        campoBarrioOficina.setEditable(true);
        campoCalleOficina.setEnabled(true);
        campoCalleOficina.setEditable(true);
        campoCalleOficina.setText("");
        campoNumeroCalleOficina.setEnabled(true);
        campoNumeroCalleOficina.setEditable(true);
        campoNumeroCalleOficina.setText("");
        campoPisoOficina.setEnabled(true);
        campoPisoOficina.setEditable(true);
        campoPisoOficina.setText("");
        campoDpto.setEnabled(true);
        campoDpto.setEditable(true);
        campoDpto.setText("");
        listaPaises.setEnabled(true);
        listaProvincia.setEnabled(true);
        listaDepartamentos.setEnabled(true);
        listaDistritos.setEnabled(true);
        listaPaises.removeAllItems();
        listaProvincia.removeAllItems();
        listaDepartamentos.removeAllItems();
        listaDistritos.removeAllItems();
        Modelos.ModeloComboPais mcpais = new Modelos.ModeloComboPais();
        mcpais.addElement(controladorPais.buscarPaises());
        listaPaises.setModel(mcpais);
        listaPaises.setSelectedItem(0);
    }//GEN-LAST:event_botonNuevaOficinaActionPerformed

    private void botonEliminarOficinaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarOficinaActionPerformed
        if (listaOficinas.getSelectedItem() instanceof Oficina) {
            Oficina ol = (Oficina) listaOficinas.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar la Oficina?", "Oficina", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                controladorOficina.eliminarOficina(ol);
                mco.removeAllElements();
                mco.addElement(controladorOficina.inicializarPantallaOficina());
                listaOficinas.setModel(mco);
                listaOficinas.setSelectedItem(0);
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarOficinaActionPerformed

    private void botonAltaEscanerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonAltaEscanerActionPerformed
        labelTituloEscaner.setText("Nuevo Escaner");
        botonGuardarEscaner.setEnabled(true);
        botonEditarEscaner.setEnabled(false);
        botonEliminarEscaner.setEnabled(false);
        campoNuevoEscaner.setVisible(true);
        campoNuevoEscaner.setEditable(true);
        campoNuevoEscaner.setText("");
        labelNumeroSerie2.setVisible(true);
        listaNumeroEscaner.setVisible(false);
        labelNumeroSerie.setVisible(false);
        botonAltaEscaner.setEnabled(false);
        ////Limpio Marcas y Oficinas y las lleno
        Modelos.ModeloComboMarca mcMarca = new ModeloComboMarca();
        mcMarca.addElement(controladorMarca.buscarMarcas());
        listaMarcas.removeAllItems();
        listaMarcas.setModel(mcMarca);
        Modelos.ModeloComboOficina mcEscanerOficina = new Modelos.ModeloComboOficina();
        mcEscanerOficina.addElement(controladorOficina.inicializarPantallaOficina());
        listaEscanerOficina.removeAllItems();
        listaEscanerOficina.setModel(mcEscanerOficina);
    }//GEN-LAST:event_botonAltaEscanerActionPerformed

    private void botonEliminarEscanerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarEscanerActionPerformed
        if (listaNumeroEscaner.getSelectedItem() instanceof EscanerHuellas) {
            EscanerHuellas eh = (EscanerHuellas) listaNumeroEscaner.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar el Escaner?", "Escaner", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                controladorEscaner.eliminarEscaner(eh);
                mce.removeAllElements();
                mce.addElement(controladorEscaner.incializarPantallaEscaner());
                listaNumeroEscaner.setModel(mce);
                listaNumeroEscaner.setSelectedItem(0);
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarEscanerActionPerformed

    private void botonEliminarEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonEliminarEmpleadoActionPerformed
        if (listaEmpleados.getSelectedItem() instanceof Empleado) {
            Empleado emp = (Empleado) listaEmpleados.getSelectedItem();
            int resultado;
            resultado = JOptionPane.showConfirmDialog(null, "¿Desea eliminar el Empleado?", "Empleado", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
            if (resultado == JOptionPane.YES_OPTION) {
                try {
                    controladorEmpleado.eliminarEmpleado(emp);
                } catch (NonexistentEntityException ex) {
                    Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                }
                mcempleado.removeAllElements();
                mcempleado.addElement(controladorEmpleado.inicializarPantallaEmpleado());
                listaEmpleados.setModel(mcempleado);
                listaEmpleados.setSelectedItem(0);
                labelVerificacionHuella.setText("");
            }
            if (resultado == JOptionPane.NO_OPTION) {
            }
        }
    }//GEN-LAST:event_botonEliminarEmpleadoActionPerformed

    private void botonNuevoEmpleadoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonNuevoEmpleadoActionPerformed
        labelTituloEmpleados.setText("Nuevo Empleado");
        campoNombreEmpleado.setText("");
        campoApellidoEmpleado.setText("");
        listaJornadaEmpleado.removeAllItems();
        listaOficinaEmpleado.removeAllItems();
        campoLegajo.setText("");
        listaTipoDU.removeAllItems();
        listaTipoDU.addItem("...");
        listaTipoDU.addItem("DNI");
        listaTipoDU.addItem("LE");
        listaTipoDU.addItem("LC");
        comboSexo.removeAllItems();
        comboSexo.addItem("...");
        comboSexo.addItem("F");
        comboSexo.addItem("M");
        comboEstadoCivil.removeAllItems();
        comboEstadoCivil.addItem("...");
        comboEstadoCivil.addItem("S");
        comboEstadoCivil.addItem("C");
        comboEstadoCivil.addItem("D");
        comboEstadoCivil.addItem("V");
        campoDU.setText("");
        comboSexo.setSelectedIndex(0);
        campoNacionalidad.setText("");
        campoCUIL.setText("");
        campoNumeroTelefono.setText("");
        comboAntiguedad.setValue(0);
        campoEmail.setText("");
        campoBarrioEmpleado.setText("");
        campoCalleEmpleado.setText("");
        campoNumeroEmpleado.setText("");
        campoPisoEmpleado.setText("");
        campoDpto.setText("");
        campoDeptoEmpleado.setText("");
        labelVerificacionHuella.setText("");
        botonHuella.setEnabled(false);
        botonHuella.setVisible(false);
        botonGuardarEmpleado.setEnabled(true);
        botonEditarEmpleado.setEnabled(false);
        botonNuevoEmpleado.setEnabled(false);
        campoLegajo.setEditable(true);
        listaTipoDU.setEnabled(true);
        campoDU.setEditable(true);
        comboFechaAltaEmpleado.setEnabled(true);
        comboSexo.setEnabled(true);
        campoNacionalidad.setEditable(true);
        campoCUIL.setEditable(true);
        campoNumeroTelefono.setEditable(true);
        comboEstadoCivil.setEnabled(true);
        comboAntiguedad.setEnabled(true);
        campoEmail.setEditable(true);
        comboFechaNacimiento.setEnabled(true);
        comboFechaNacimiento.setVisible(true);
        labelFechaNacimiento.setVisible(true);
        listaOficinaEmpleado.setEnabled(true);
        listaJornadaEmpleado.setEnabled(true);
        labelApellidoNombreEmpleados.setVisible(false);
        listaEmpleados.setVisible(false);
        labelNombreEmpleado.setVisible(true);
        campoNombreEmpleado.setVisible(true);
        labelApellidoEmpleado.setVisible(true);
        campoApellidoEmpleado.setVisible(true);
        /////Lleno el combo Oficina
        listaOficinaEmpleado.removeAllItems();
        mceo.addElement(controladorOficina.inicializarPantallaOficina());
        listaOficinaEmpleado.setModel(mceo);
        /////Lleno el combo Jornada
        listaJornadaEmpleado.removeAllItems();
        ejl = controladorEJ.buscarEJ();
        contadorJornada = 0;
        mcje.addElement(controladorJornada.incializarPantallaJornada());
        listaJornadaEmpleado.setModel(mcje);
        ////////DOMICILIO
        mcpaisemplado.removeAllElements();
        mcpaisemplado.addElement(controladorPais.buscarPaises());
        listaPaisEmpleado.setModel(mcpaisemplado);
        listaProvinciaEmpleado.setModel(mcprovemp);
        listaDepartamentoEmpleado.setModel(mcdptoemp);
        listaDistritoEmpleado.setModel(mcdisemp);
    }//GEN-LAST:event_botonNuevoEmpleadoActionPerformed

    private void listaTipoLicenciaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_listaTipoLicenciaActionPerformed
        if (listaTipoLicencia.getSelectedItem() instanceof TipoLicencia) {
            tipolic = (TipoLicencia) listaTipoLicencia.getSelectedItem();
            botonSolicitarLicencia.setEnabled(true);
        }
    }//GEN-LAST:event_listaTipoLicenciaActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextArea areaDescripcionJornada;
    private javax.swing.JTextArea areaDescripcionOperaciones;
    private javax.swing.JTextArea areaDescripcionPerfil;
    private javax.swing.JTextArea areaMotivoLicencia;
    private javax.swing.JTextArea areaObservacionesFeriados;
    private javax.swing.JButton botonAltaEscaner;
    private javax.swing.JButton botonAltaPerfil;
    private javax.swing.JButton botonAutorizarLicencia;
    private javax.swing.JButton botonEditarEmpleado;
    private javax.swing.JButton botonEditarEscaner;
    private javax.swing.JButton botonEditarJornada;
    private javax.swing.JButton botonEditarOficina;
    private javax.swing.JButton botonEditarOperaciones;
    private javax.swing.JButton botonEditarPerfil;
    private javax.swing.JButton botonEditarUsuario;
    private javax.swing.JButton botonEliminarEmpleado;
    private javax.swing.JButton botonEliminarEscaner;
    private javax.swing.JButton botonEliminarJornada;
    private javax.swing.JButton botonEliminarOficina;
    private javax.swing.JButton botonEliminarOperaciones;
    private javax.swing.JButton botonEliminarPerfil;
    private javax.swing.JButton botonEliminarUsuario;
    private javax.swing.JButton botonGenerarReporte;
    private javax.swing.JButton botonGuardarEmpleado;
    private javax.swing.JButton botonGuardarEscaner;
    private javax.swing.JButton botonGuardarFeriados;
    private javax.swing.JButton botonGuardarJornada;
    private javax.swing.JButton botonGuardarOficinas;
    private javax.swing.JButton botonGuardarOperaciones;
    private javax.swing.JButton botonGuardarPerfil;
    private javax.swing.JButton botonGuardarUsuario;
    private javax.swing.JButton botonHuella;
    private javax.swing.JButton botonNuevaJornada;
    private javax.swing.JButton botonNuevaOficina;
    private javax.swing.JButton botonNuevaOperacion;
    private javax.swing.JButton botonNuevoEmpleado;
    private javax.swing.JButton botonNuevoFeriado;
    private javax.swing.JButton botonNuevoUsuario;
    private javax.swing.JButton botonRechazarLicencia;
    private javax.swing.JButton botonSolicitarLicencia;
    private javax.swing.JTextField campoApellidoEmpleado;
    private javax.swing.JTextField campoBarrioEmpleado;
    private javax.swing.JTextField campoBarrioOficina;
    private javax.swing.JTextField campoCUIL;
    private javax.swing.JTextField campoCalleEmpleado;
    private javax.swing.JTextField campoCalleOficina;
    private javax.swing.JTextField campoDU;
    private javax.swing.JTextField campoDeptoEmpleado;
    private javax.swing.JTextField campoDpto;
    private javax.swing.JTextField campoEmail;
    private javax.swing.JTextField campoHoraEntradaJL;
    private javax.swing.JTextField campoHoraSalidaJL;
    private javax.swing.JTextField campoLegajo;
    private javax.swing.JTextField campoNacionalidad;
    private javax.swing.JTextField campoNombreEmpleado;
    private javax.swing.JTextField campoNombreJornada;
    private javax.swing.JTextField campoNombreOficinas;
    private javax.swing.JTextField campoNombrePerfil;
    private javax.swing.JTextField campoNuevoEscaner;
    private javax.swing.JTextField campoNuevoOperaciones;
    private javax.swing.JTextField campoNumeroCalleOficina;
    private javax.swing.JTextField campoNumeroEmpleado;
    private javax.swing.JTextField campoNumeroOficinas;
    private javax.swing.JTextField campoNumeroTelefono;
    private javax.swing.JTextField campoPassword;
    private javax.swing.JTextField campoPisoEmpleado;
    private javax.swing.JTextField campoPisoOficina;
    private javax.swing.JTextField campoUsuario;
    private javax.swing.JTextField campoUsuarioEmpleado;
    private javax.swing.JSpinner comboAntiguedad;
    private javax.swing.JComboBox comboEstadoCivil;
    private datechooser.beans.DateChooserCombo comboFechaAltaEmpleado;
    private datechooser.beans.DateChooserCombo comboFechaNacimiento;
    private javax.swing.JComboBox comboSexo;
    private datechooser.beans.DateChooserDialog dateChooserDialog1;
    private datechooser.beans.DateChooserCombo dateInformeDesde;
    private datechooser.beans.DateChooserCombo dateInformeHasta;
    private datechooser.beans.DateChooserCombo fechaDesdeLicencia;
    private datechooser.beans.DateChooserCombo fechaHastaLicencia;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane11;
    private javax.swing.JScrollPane jScrollPane12;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JLabel label0;
    private javax.swing.JLabel label1;
    private javax.swing.JLabel label2;
    private javax.swing.JLabel label3;
    private javax.swing.JLabel label4;
    private javax.swing.JLabel label5;
    private javax.swing.JLabel label6;
    private javax.swing.JLabel label7;
    private javax.swing.JLabel label8;
    private javax.swing.JLabel label9;
    private javax.swing.JLabel labelAdmin;
    private javax.swing.JLabel labelAntiguedad;
    private javax.swing.JLabel labelApellidoEmpleado;
    private javax.swing.JLabel labelApellidoNombreEmpleados;
    private javax.swing.JLabel labelApellidoNombreLicencia;
    private javax.swing.JLabel labelBarrioEmpleado;
    private javax.swing.JLabel labelBarrioOficina;
    private javax.swing.JLabel labelBusquedaEmpleado;
    private javax.swing.JLabel labelCUIL;
    private javax.swing.JLabel labelCalleEmpleado;
    private javax.swing.JLabel labelCalleOficina;
    private javax.swing.JLabel labelDU;
    private javax.swing.JLabel labelDepartamento;
    private javax.swing.JLabel labelDepartamentoPais;
    private javax.swing.JLabel labelDeptoEmpleado;
    private java.awt.Label labelDescripcionFeriado;
    private javax.swing.JLabel labelDescripcionJornada;
    private javax.swing.JLabel labelDescripcionOperaciones;
    private javax.swing.JLabel labelDescripcionPerfil;
    private javax.swing.JLabel labelDistrito;
    private javax.swing.JLabel labelDistritoEmpleado;
    private javax.swing.JLabel labelDptoOficina;
    private javax.swing.JLabel labelEmail;
    private javax.swing.JLabel labelEscanerOficina;
    private javax.swing.JLabel labelEstadoCivil;
    private javax.swing.JLabel labelFechaAlta;
    private javax.swing.JLabel labelFechaDesdeInforme;
    private javax.swing.JLabel labelFechaDesdeLicencia;
    private java.awt.Label labelFechaFeriado;
    private javax.swing.JLabel labelFechaHastaLicencia;
    private javax.swing.JLabel labelFechaNacimiento;
    private javax.swing.JLabel labelHoraEntrada;
    private javax.swing.JLabel labelHoraSalida;
    private javax.swing.JLabel labelHuella;
    private javax.swing.JLabel labelInformeApellido;
    private javax.swing.JLabel labelInformeOficina;
    private javax.swing.JLabel labelJornada;
    private javax.swing.JLabel labelLegajo;
    private javax.swing.JLabel labelMarca;
    private javax.swing.JLabel labelModeloEscaner;
    private javax.swing.JLabel labelMotivo;
    private javax.swing.JLabel labelNacionalidad;
    private javax.swing.JLabel labelNombreEmpleado;
    private javax.swing.JLabel labelNombreOficina;
    private javax.swing.JLabel labelNombreOficinaACrear;
    private javax.swing.JLabel labelNombreOperaciones;
    private javax.swing.JLabel labelNombrePerfil;
    private javax.swing.JLabel labelNombrejornadaLaboral;
    private javax.swing.JLabel labelNuevoOperaciones;
    private javax.swing.JLabel labelNuevoPerfil;
    private javax.swing.JLabel labelNumeroCalleoficina;
    private javax.swing.JLabel labelNumeroEmpleado;
    private javax.swing.JLabel labelNumeroOficina;
    private javax.swing.JLabel labelNumeroSerie;
    private javax.swing.JLabel labelNumeroSerie2;
    private javax.swing.JLabel labelObservacionesFeriados;
    private javax.swing.JLabel labelOficinas;
    private javax.swing.JLabel labelOperacionesAsignadas;
    private javax.swing.JLabel labelOperacionesPerfil;
    private javax.swing.JLabel labelPais;
    private javax.swing.JLabel labelPaisEmpleado;
    private javax.swing.JLabel labelPassword;
    private javax.swing.JLabel labelPerfilDisponibles;
    private javax.swing.JLabel labelPerfilesAsignados;
    private javax.swing.JLabel labelPisoEmpleado;
    private javax.swing.JLabel labelPisoOficina;
    private javax.swing.JLabel labelProvincia;
    private javax.swing.JLabel labelSexo;
    private javax.swing.JLabel labelTelefono;
    private javax.swing.JLabel labelTipoDU;
    private javax.swing.JLabel labelTipoEscaner;
    private javax.swing.JLabel labelTipoInformes;
    private javax.swing.JLabel labelTipoLicencia;
    private javax.swing.JLabel labelTituloEmpleados;
    private javax.swing.JLabel labelTituloEscaner;
    private javax.swing.JLabel labelTituloFeriadosyAsuetos;
    private javax.swing.JLabel labelTituloJornadaLaboral;
    private javax.swing.JLabel labelTituloOficinas;
    private javax.swing.JLabel labelTituloOperaciones;
    private javax.swing.JLabel labelTituloPerfiles;
    private javax.swing.JLabel labelTituloUsuarios;
    private javax.swing.JLabel labelTolerancia;
    private javax.swing.JLabel labelUsuario;
    private javax.swing.JLabel labelUsuarioEmpleado;
    private javax.swing.JLabel labelUsuarioEmpleados;
    private java.awt.Label labelVerificacionHuella;
    private javax.swing.JLabel labelfechaHastaInfomre;
    private javax.swing.JComboBox listaApellidoLicencias;
    private javax.swing.JComboBox listaDepartamentoEmpleado;
    private javax.swing.JComboBox listaDepartamentos;
    private javax.swing.JComboBox listaDistritoEmpleado;
    private javax.swing.JComboBox listaDistritos;
    private javax.swing.JComboBox listaEmpleados;
    private javax.swing.JComboBox listaEscanerOficina;
    private javax.swing.JList listaFeriados;
    private javax.swing.JComboBox listaInformeEmpleado;
    private javax.swing.JComboBox listaInformeOficina;
    private javax.swing.JComboBox listaInformes;
    private javax.swing.JComboBox listaJornadaEmpleado;
    private javax.swing.JComboBox listaJornadas;
    private javax.swing.JComboBox listaMarcas;
    private javax.swing.JComboBox listaModelos;
    private javax.swing.JComboBox listaNumeroEscaner;
    private javax.swing.JComboBox listaOficinaEmpleado;
    private javax.swing.JComboBox listaOficinas;
    private javax.swing.JComboBox listaOperaciones;
    private javax.swing.JList listaOperacionesActuales;
    private javax.swing.JList listaOperacionesAgregar;
    private javax.swing.JComboBox listaPaisEmpleado;
    private javax.swing.JComboBox listaPaises;
    private javax.swing.JComboBox listaPerfil;
    private javax.swing.JList listaPerfilesAsignados;
    private javax.swing.JList listaPerfilesDisponibles;
    private javax.swing.JComboBox listaProvincia;
    private javax.swing.JComboBox listaProvinciaEmpleado;
    private javax.swing.JComboBox listaTipoDU;
    private javax.swing.JComboBox listaTipoEscaner;
    private javax.swing.JComboBox listaTipoLicencia;
    private javax.swing.JComboBox listaUsuarios;
    private javax.swing.JComboBox listaUsuariosEmpleados;
    private javax.swing.JLabel nombreVisible;
    private datechooser.beans.DateChooserPanel panelFeriados;
    private javax.swing.JPanel panel_Fondo;
    private javax.swing.JTabbedPane tab;
    private javax.swing.JPanel tabPresentacion;
    private javax.swing.JTable tablaLicencias;
    private javax.swing.JPanel tabuladorEmpleados;
    private javax.swing.JPanel tabuladorEscaner;
    private javax.swing.JPanel tabuladorFeriados;
    private javax.swing.JPanel tabuladorInformes;
    private javax.swing.JPanel tabuladorJornadas;
    private javax.swing.JPanel tabuladorLicencias;
    private javax.swing.JPanel tabuladorOficinas;
    private javax.swing.JPanel tabuladorOperaciones;
    private javax.swing.JPanel tabuladorPerfil;
    private javax.swing.JPanel tabuladorUsuarios;
    private javax.swing.JSpinner toleranciaJL;
    private javax.swing.JCheckBox vigenteFeriado;
    // End of variables declaration//GEN-END:variables
}
